Когда я определяю некоторую случайную структуру, как, например, в файле cpp в Visual studio
1) struct CAddition {
int x, y;
CAddition(int a, int b) { x = a; y = b; }
int result() { return x + y; }
};
и теперь, если я определю некоторый объект структуры
CAddition foo;
работает без ошибок
но если я использую псевдоним в конце
2) struct CAddition {
int x, y;
CAddition(int a, int b) { x = a; y = b; }
int result() { return x + y; }
}CAddition;
Я не могу просто определить любой объект, не используя struct перед определением
struct CAddition foo;
или альтернативный метод - добавить
typedef struct CAddition {
В методе 2, чтобы избежать переписывания структуры каждый раз, мой вопрос заключается в том, в чем разница между этими двумя определениями, разве метод 1 не использует меньше ключевых слов и намного проще в использовании, при каких условиях мы должны использовать второе определение структуры .