Поэтому я нашел, что этот код работает: int foo [] = {0, foo [0] + 1, foo [1] + 2, foo [2] + 4}; Это официально законно? Я думал, что я делаю initializer_list здесь, но если я могу получить доступ ранее ...
Я обнаружил, что возможность использования синтаксиса списка инициализаторов для класса зависит от того, имеют ли поля класса значения по умолчанию. Почему? Чтобы быть точным, рассмотрим следующий код: ...
класс C {public: C (): arr ({1,2,3}) // не компилируется {} / * C (): arr {1,2,3} // также не компилируется {} * / private: int arr [3]; }; Я считаю, что причина в том, что массивы могут быть ...
Допустим, у нас есть следующий код: #include
#include <строка> struct A
{A () {} A (const A &) {std :: cout << "Копировать" << std :: endl; } A (A &&) {std :: ...
C ++ 0x собирается сделать следующий код и аналогичный код некорректным, потому что для этого требуется так называемое сужающее преобразование типа double в int. int a [] = {1.0}; Мне интересно, будет ли этот вид ...
Предположим, у меня есть следующая структура: struct sampleData
{int x; int y;
}; И при использовании я хочу инициализировать переменные типа sampleData в известное состояние. sampleData sample = {1, ...