В c ++, если вы создаете структуру или класс, подобный этому
struct foo { }
Должны ли вы использовать описатель struct или class для создания другого, как вы делаете в c, если нет, то почему? Когда было бы целесообразно использовать его в C ++
Пример
struct foo a;
Спасибо: -)
struct не требуется.В C ++ единственная разница между struct и class состоит в том, что в struct члены имеют значение public по умолчанию, а в class они private по умолчанию.
struct
class
public
private
Нет, ключевое слово struct не требуется при создании экземпляра в C ++. Кстати, определение структуры должно заканчиваться ;
;
Можно, но не обязательно.И вам лучше этого не делать, это правильный стиль C ++, если вы не собираетесь смешивать свой код с чистым C. Причина в том, что разработчики C ++ думали, что концепция тегов в C была излишне сложной.Я склонен согласиться.
В C вы можете избежать этого, используя typedef. В C ++ тип создается автоматически, поэтому нет необходимости явно указывать его.
Синтаксис C, чтобы сделать его похожим:
C
typedef struct { .... } foo;
Тогда вы можете использовать его, сказав foo x;
foo x;