0
ответов

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

Последние несколько дней я экспериментировал с C++11 и придумал кое-что странное. Если я хочу равномерно инициализировать int: int a{5}; Но если я сделаю то же самое с std::vector: ...
вопрос задан: 5 November 2012 20:14
0
ответов

std ::общие _списки указателей и инициализаторов

Конструктор std ::shared _ptr ведет себя не так, как я ожидал:#включить #include void func (std ::vector strings ){ for (auto const& string :...
вопрос задан: 6 August 2012 00:08
0
ответов

Инициализация массива-члена в инициализаторе конструктора

класс C {public: C (): arr ({1,2,3}) // не компилируется {} / * C (): arr {1,2,3} // также не компилируется {} * / private: int arr [3]; }; Я считаю, что причина в том, что массивы могут быть ...
вопрос задан: 24 July 2012 06:04
0
ответов

Вызов конструктора другого класса через список инициализации. Проблемы

Это мой пример кода:#включить использование пространства имен std; Базовый класс { public :Base (int v, char z ){x=v;y=z;}; интервал х; символ у; }; класс Бар { public :Bar (int m, char n ):...
вопрос задан: 20 July 2012 17:50
0
ответов

Списки инициализаторов и RHS операторов

Я не понимаю, почему списки инициализаторов нельзя использовать в RHS оператора. Рассмотрим :class foo { }; полоса структуры { template bar (T const&... ){ } }; фу&...
вопрос задан: 10 July 2012 19:46
0
ответов

Почему приведение типов в стиле C -является обязательным при инициализации данных POD в списке инициализаторов?

структура POD { int i, j; }; класс A { POD m _pod; общественный :А():m _pod ({1,2} ){} // ошибка A():m _pod (static _cast ({1,2} )){} // ошибка A():m _pod ((POD ){1,2} ){} // хорошо! }; Я вижу...
вопрос задан: 6 June 2012 04:18
0
ответов

Почему я не могу инициализировать ссылку в списке инициализаторов с помощью юниформ-инициализации?

То есть, почему так: struct S {}; структура Т { T(S&s) : s{s} {} S&s; }; основной () { SS; Т т{с}; } выдает ошибку компилятора с GCC 4.7: test.cpp: В конструкторе 'T::...
вопрос задан: 9 May 2012 04:01
0
ответов

Могу ли я инициализировать вектор STL с 10 одинаковыми целое число в списке инициализаторов?

Могу ли я инициализировать вектор STL 10 одинаковыми целыми числами в списке инициализаторов? Мои попытки до сих пор не увенчались успехом.
вопрос задан: 19 April 2012 22:27
0
ответов

Когда использовать инициализатор, заключенный в скобки-?

В C++11 у нас есть новый синтаксис для инициализации классов, который дает нам большое количество возможностей для инициализации переменных. { // Пример 1 int b(1); интервал {1}; интервал с = 1; интервал д = {1};...
вопрос задан: 2 April 2012 13:03
0
ответов

Использование многомерного std::initializer_list

У меня вопрос об использовании многомерного std::initializer_list в C++. У меня есть класс Matrix, и я хочу инициализировать его следующим образом: Matrix m({{1, 2, 3}, {4, 5,...
вопрос задан: 25 March 2012 18:21
0
ответов

std::array initializer list initialization in initialization list

Хотя мне очень нравятся новые возможности C++11, иногда я чувствую, что мне не хватает некоторых тонкостей. Инициализация массива int работает нормально, инициализация вектора Element2 работает нормально, но ...
вопрос задан: 5 February 2012 02:54
0
ответов

#include требуется для использования списка инициализаторов на основе диапазона для?

Окончательный стандарт C ++ 11 включает положения для использования на основе диапазона, чтобы «просто работать "для собственных массивов без необходимости включать или какой-либо другой заголовок. Это было рассмотрено в первую очередь, поскол
вопрос задан: 18 January 2012 16:29
0
ответов

Вариант вариативного шаблона min и max в C ++ 11?

Прав ли я, читая стандарт, что из min и max (и minmax в этом отношении) есть новые варианты initializer_list, но нет вариантов шаблона Variadic? Таким образом, это нормально: int a = min ({1,2, ...
вопрос задан: 19 December 2011 02:05
0
ответов

Могу ли я инициализировать список-инициализировать вектор типа «только перемещение»?

Если я пропущу следующий код через мой снимок GCC 4.7, он попытается скопировать unique_ptrs в вектор . #include <вектор> #include int main () {using move_only = std :: ...
вопрос задан: 12 December 2011 01:06
0
ответов

Оптимизация за счет списка инициализатора конструктора

Конструкторы должны инициализировать все свои объекты-члены через список инициализаторов, если это возможно. Это более эффективно, чем создание конструкторов с помощью присваивания внутри тела конструктора. Мог ...
вопрос задан: 6 December 2011 01:32
0
ответов

initializer_list и семантика перемещения

Могу ли я перемещать элементы из std :: initializer_list ? #include # include template void foo (std :: initializer_list ...
вопрос задан: 19 November 2011 09:26
0
ответов

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

#include struct foo { int i; int j; int k; }; int main() { std::vector v(1); v[0] = {0, 0, 0}; return 0; } При компиляции с помощью g++ я получаю ...
вопрос задан: 28 October 2011 14:42
0
ответов

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

#include # include void foo (std :: initializer_list >) {} шаблон void bar (T) {} int main () {foo ({{0,1}}); / ...
вопрос задан: 8 October 2011 22:48
0
ответов

Почему мой шаблон не принимает список инициализаторов

Я создал следующий шаблон template void f (T const & t) {} Я хотел, чтобы его можно было вызвать контейнеры, но также списки инициализаторов. Я думал, что это будет ...
вопрос задан: 3 October 2011 13:14
0
ответов

Инициализация структуры, содержащей собственный вектор

У меня есть система меню, которую я хочу инициализировать из постоянных данных. MenuItem может содержать в качестве подменю вектор MenuItems. Но это работает только до определенного момента. Вот основные элементы проблемы: ...
вопрос задан: 2 October 2011 10:32
0
ответов

Конструктор списка инициализаторов в скобках

У меня есть класс Phenotype со следующим конструктором: Phenotype (uint8 init [NUM_ITEMS]); Я могу создать Фенотип следующим образом: uint8 data [] = {0,0,0,0,0}; Фенотип p (данные); Но я получаю сообщение об ошибке, когда ...
вопрос задан: 1 October 2011 14:59
0
ответов

C ++: Следует ли инициализировать элементы-указатели, которые присвоены в теле конструктора, значением NULL?

Предположим, у меня есть: // MyClass.h класс MyClass {общедоступные: MyClass (); private: Something * something _; } // MyClass.cpp MyClass :: MyClass () {something_ = new Something (); } Должен ли я. ..
вопрос задан: 27 September 2011 20:47
0
ответов

Список инициализаторов-построение вектора некопируемых (но подвижных) объектов

Можно push_back rvalues ​​некопируемого, но подвижного типа в вектор этого типа: #include struct S {S (int); SS&&); }; int main () {std :: vector v; ...
вопрос задан: 29 August 2011 14:17
0
ответов

Почему размер не является аргументом шаблона для std :: initializer_list?

std :: initializer_list создается компилятором из заключенного в фигурные скобки списка инициализации, и размер этого списка должен быть постоянной времени компиляции. Так почему же комитет решил опустить размер из ...
вопрос задан: 18 August 2011 13:45
0
ответов

Синтаксис при назначении карте структур

struct Structure { // Структура (const char * n, int v, bool a): name (n), value (v), awesome (a) {} const char * name; значение int; bool awesome; }; std :: map map; map ["...
вопрос задан: 10 August 2011 08:03
0
ответов

Преобразование списка инициализаторов

Мне нужно преобразовать класс, написанный на C ++ 0x, в тот, который компилируется в Visual Studio 2008. В коде используется std :: initializer_list. Ниже приведен шаблон кода class ...
вопрос задан: 25 July 2011 07:26
0
ответов

Вектор массивов C ++

Почему это работает: std :: pair p = {1,2}; std :: vector > vp = {{1,2}, {3,4}}; Но это не так? std :: array a = {1,2}; // Все еще хорошо std :: ...
вопрос задан: 19 May 2011 01:27
0
ответов

Списки вложенных инициализаторов C ++ 0x

Я хотел бы использовать новую функцию списка инициализаторов C ++ 0x для инициализации std :: vector с определенным временем компиляции числом элементы для нового API, над которым я сейчас работаю. Примерно так: template <...
вопрос задан: 30 April 2011 09:54
0
ответов

Расширение пакета параметров, содержащего initializer_list, в конструктор

Я намерен немного использовать shared_ptr в следующем проекте, поэтому (не зная о std :: make_shared) я хотел напишите вариативную шаблонную функцию spnew (...) как возвращающую shared_ptr ...
вопрос задан: 27 April 2011 02:24
0
ответов

Как мне инициализировать массив элементов с помощью initializer_list?

Я быстро знакомлюсь с C ++ 0x, и тестирование с помощью g ++ 4.6. Я просто попробовал следующий код, думая, что он будет работать, но он не компилируется. Получаю ошибку: несовместимые типы в ...
вопрос задан: 4 April 2011 22:02