Я думаю, что смутно припоминаю, что один из более новых стандартов c ++ (может быть, его c ++ 11 или, может быть, 14? ... 17 ??) позволяет вам инициализировать структуру, посредством чего вы можете определить структуру, а затеминициализируйте его без необходимости писать конструктор.
Например:
struct test
{
int a;
int b;
std::string str;
};
int main()
{
std::map<int, test> test_map;
test_map[0] = test(1, 2, "test1"); // This is the line in question
// Or it might be more like: test_map[0] = test{1, 2, "test1"};
return 0;
}
Я не могу вспомнить имя этой специальной инициализации (или, если она вообще существует) !.Итак, мои вопросы:
- Есть ли какой-то новый механизм для достижения этого без записи конструктора в структуре "test"?
- Если так, как он называется (так что я могуподробнее об этом).
Если эта «особенность» не существует, то, пожалуйста, избавьте меня от моих страданий! Возможно, мое воображение это придумало ...