LINUX.ORG.RU

История изменений

Исправление Sadler, (текущая версия) :

И вызвать метод класса не создав объект не получится.

Статический метод — легко.

При использовании union его поля будут ссылаться на один адрес в памяти, а общая длина будет, соответственно, не суммой длин всех полей, а максимальной длиной поля. Может быть полезно, если одна и та же переменная может иметь разные типы, например, но на практике я не использовал.

struct существует, чтобы определить структуру хранения набора значений в памяти (включая имена полей и типы), потому в нём нет и не должно быть непосредственно логики, в отличие от классов.

namespace разграничивает области видимости для различных модулей.

Исправление Sadler, :

И вызвать метод класса не создав объект не получится.

Статический метод — легко.

При использовании union его поля будут ссылаться на один адрес в памяти, а общая длина будет, соответственно, не суммой длин всех полей, а максимальной длиной поля. Может быть полезно, если одна и та же переменная может иметь разные типы, например, но на практике я не использовал.

struct существует, чтобы определить структуру хранения набора значений в памяти (включая имена полей и типы), потому в нём нет и не должно быть непосредственно логики, в отличие от классов.

Исправление Sadler, :

И вызвать метод класса не создав объект не получится.

Статический метод — легко.

При использовании union его поля будут ссылаться на один адрес в памяти, а общая длина будет, соответственно, не суммой длин всех полей, а максимальной длиной поля. Может быть полезно, если одна и та же переменная может иметь разные типы, например, но на практике я не использовал.

Исходная версия Sadler, :

И вызвать метод класса не создав объект не получится.

Статический метод — легко.