Результаты поиска по запросу "initializer-list"

7 ответов

Если вам не нужна проверка границ, то сработает следующее.

ираю скорость с C ++ 0x и тестирую с g ++ 4.6 Я просто попробовал следующий код, думая, что он будет работать, но он не компилируется. Я получаю ошибку: incompatible types in assignment of ‘std::initializer_list<const int>’ to ‘const int ...

3 ответа

 является такой же языковой функцией, как библиотечная функция, и, следовательно, не может быть частью Технического отчета (т.е. является частью только C ++ 0x).

я есть система меню, которую я хочу инициализировать из постоянных данных.MenuItem может содержать в качестве подменю векторMenuItems, Но это работает только до определенного момента. Вот основные проблемы: #include <vector> struct S { ...

6 ответов

я не думаю, что дополнительные скобки необходимы, когда вы правильно получаете initializer_list.

но я наткнулся на некоторые проблемы со списками инициализаторов. Рассмотрим программу, которая хранит данные карты struct MyMapLike { MyMapLike(std::map<std::string, int> data) :data(std::move(data)) { } private: std::map<std::string, int> ...

ТОП публикаций

2 ответа

Какие жадные примеры списка инициализаторов скрываются в стандартной библиотеке?

Начиная с C ++ 11, контейнеры стандартной библиотеки иstd::string есть конструкторы, принимающие список инициализаторов. Этот конструктор имеет приоритет над другими конструкторами (даже, как указано @ JohannesSchaub-litb в комментариях, даже ...

3 ответа

Как обнулить элементы массива, когда мой компилятор не соответствует стандарту

Мой компилятор (C ++ Builder6) синтаксически разрешает инициализацию членов массива (по крайней мере, с нуля), но на самом деле это не так. Таким образом, утверждение в приведенном ниже примере не выполняется в зависимости от контекста. #include ...

2 ответа

Шаблоны не всегда предполагают типы списков инициализаторов

#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 ...

2 ответа

Почему это считается расширенным списком инициализаторов?

#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 ++ я получаю следующее предупреждение: предупреждение: расширенные списки инициализаторов ...

1 ответ

Можно ли передать данные как initializer_list в std :: массив структур?

У меня есть следующий код. По сути, я хочу инициализировать массив std :: массива не POD, используя синтаксис агрегированной инициализации. И g ++ 4.6, и 4.7 (последний недельный снимок) не могут скомпилировать код. #include <array> struct ...

4 ответа

Что может пойти не так, если инициализация копирования списка позволила явные конструкторы?

В стандарте C ++, §13.3.1.7 [over.match.list], указано следующее: В инициализации копирования списка, еслиexplicit конструктор выбран, инициализация некорректна. Это причина, почему мы не можем сделать, например, что-то вроде этого: struct foo ...

3 ответа

Почему 'std :: vector <int> b {2};' создать 1-элементный вектор, а не 2-элементный?

Последние несколько дней я играл с C ++ 11 и придумал что-то странное. Если я хочу равномерно инициализировать int: int a{5};Но если я сделаю то же самое с std :: vector: std::vector<int> b{2};Не создает двухэлементный массив, а скорее массив ...