Как этот массив объектов инициализирует переменную-член каждого объекта? - PullRequest
1 голос
/ 14 января 2020
#include <cstudio>

struct Food {
   char recipe[128];
};

void print_food(Food* food_ptr) {
   printf("Recipe: %s\n", food_ptr->recipe);
}

int main() {
   Food menu[] = {"Burn it", "Drop it", "USe too much salt"};
   print_food(menu);
}

Как объекты Food инициализируются в массиве menu? Похоже, что он не вызывает никаких конструкторов, не то чтобы они вообще были определены.

1 Ответ

1 голос
/ 14 января 2020

Сначала вы должны знать, что конструкторы записываются неявно, если они не были написаны явно.

Как уже упоминалось, ваш рецепт агрегатно инициализирован .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...