Результаты поиска по запросу "initializer-list"
Если вам не нужна проверка границ, то сработает следующее.
ираю скорость с C ++ 0x и тестирую с g ++ 4.6 Я просто попробовал следующий код, думая, что он будет работать, но он не компилируется. Я получаю ошибку: incompatible types in assignment of ‘std::initializer_list<const int>’ to ‘const int ...
является такой же языковой функцией, как библиотечная функция, и, следовательно, не может быть частью Технического отчета (т.е. является частью только C ++ 0x).
я есть система меню, которую я хочу инициализировать из постоянных данных.MenuItem может содержать в качестве подменю векторMenuItems, Но это работает только до определенного момента. Вот основные проблемы: #include <vector> struct S { ...
я не думаю, что дополнительные скобки необходимы, когда вы правильно получаете initializer_list.
но я наткнулся на некоторые проблемы со списками инициализаторов. Рассмотрим программу, которая хранит данные карты struct MyMapLike { MyMapLike(std::map<std::string, int> data) :data(std::move(data)) { } private: std::map<std::string, int> ...
Какие жадные примеры списка инициализаторов скрываются в стандартной библиотеке?
Начиная с C ++ 11, контейнеры стандартной библиотеки иstd::string есть конструкторы, принимающие список инициализаторов. Этот конструктор имеет приоритет над другими конструкторами (даже, как указано @ JohannesSchaub-litb в комментариях, даже ...
Как обнулить элементы массива, когда мой компилятор не соответствует стандарту
Мой компилятор (C ++ Builder6) синтаксически разрешает инициализацию членов массива (по крайней мере, с нуля), но на самом деле это не так. Таким образом, утверждение в приведенном ниже примере не выполняется в зависимости от контекста. #include ...
Шаблоны не всегда предполагают типы списков инициализаторов
#include <initializer_list> #include <utility> void foo(std::initializer_list<std::pair<int,int>>) {} template <class T> void bar(T) {} int main() { foo({{0,1}}); //This works foo({{0,1},{1,2}}); //This works bar({{0,1}}); //This warns ...
Почему это считается расширенным списком инициализаторов?
#include <vector> struct foo { int i; int j; int k; }; int main() { std::vector<foo> v(1); v[0] = {0, 0, 0}; return 0; }При компиляции с использованием g ++ я получаю следующее предупреждение: предупреждение: расширенные списки инициализаторов ...
Можно ли передать данные как initializer_list в std :: массив структур?
У меня есть следующий код. По сути, я хочу инициализировать массив std :: массива не POD, используя синтаксис агрегированной инициализации. И g ++ 4.6, и 4.7 (последний недельный снимок) не могут скомпилировать код. #include <array> struct ...
Что может пойти не так, если инициализация копирования списка позволила явные конструкторы?
В стандарте C ++, §13.3.1.7 [over.match.list], указано следующее: В инициализации копирования списка, еслиexplicit конструктор выбран, инициализация некорректна. Это причина, почему мы не можем сделать, например, что-то вроде этого: struct foo ...
Почему 'std :: vector <int> b {2};' создать 1-элементный вектор, а не 2-элементный?
Последние несколько дней я играл с C ++ 11 и придумал что-то странное. Если я хочу равномерно инициализировать int: int a{5};Но если я сделаю то же самое с std :: vector: std::vector<int> b{2};Не создает двухэлементный массив, а скорее массив ...