Вопросы по теме 'uniform-initialization'
Обходной путь макроса/встроенной функции для отсутствующих юниформ-инициализаторов в MSVC10/11
Есть ли полупрозрачный способ, который упростил бы кодирование в стиле, похожем на то, что можно было бы сделать с юниформ-инициализаторами, без использования фактической функции?
Я готов отказаться от безопасности типов и других ограничений...
119 просмотров
schedule
02.08.2022
Попытка построения временного объекта с использованием только имени класса в объявлении
С++
Объекты этого класса cout s сообщения, когда они создаются и уничтожаются. Я попытался построить временный объект, используя объявление только имени класса, но это дало неожиданный результат.
В № 1 я создаю временный безымянный объект с...
499 просмотров
schedule
19.10.2023
Агрегатная инициализация с фигурными скобками
В С++ 11 можно ли копировать агрегаты с синтаксисом фигурных скобок? У меня есть следующий код:
struct s
{
int x;
};
template<class T>
struct holder
{
template<class A>
holder(A&& x) : t{x} {}
T t;
};...
973 просмотров
schedule
24.12.2022
Почему синтаксис двойных фигурных скобок не был предпочтительным для конструкторов, использующих std::initializer_list
Единая инициализация — важная и полезная функция C++11. Однако вы не можете просто использовать {} везде, так как:
std::vector<int> a(10, 0); // 10 elements of value zero
std::vector<int> b({10, 0}); // 2 elements of value 10...
5627 просмотров
schedule
11.10.2022
Инициализация T v{}
Я читаю стандарт С++ 11, но не могу понять,
T x{};
инициализируется значением или инициализируется по умолчанию (автоматическое сохранение). В нем действительно четко сказано, что:
10 Объект, инициализатором которого является пустой...
1021 просмотров
schedule
14.10.2022
Как использовать std::map::operator= со списками инициализаторов
Я задал тот же вопрос раньше о boost::assign::map_list_of (который не t получить ответ), тогда я подумал, что, возможно, использование инициализации фигурных скобок поможет, но это не помогло.
Это отлично работает:
std::map<int,...
523 просмотров
schedule
15.10.2022
Каково обоснование того, как С++ обрабатывает универсальную инициализацию со списками инициализации?
Единый синтаксис инициализации C++ исправляет самый неприятный синтаксический анализ . Ура. Но затем он вводит путаница при работе со списками инициализации . Бу. Существующее поведение таково:
std::vector<int> the_vec{4};
вызовет...
410 просмотров
schedule
10.11.2022
Синтаксис инициализации объекта в C++ (T obj = {} vs T obj{})
В чем разница между двумя формами инициализации, T obj = {…} и T obj{…} ? Сначала я думал, что T obj = {…} — это сокращение от T obj = T{…} , когда временный объект копируется в наш новый объект. Это, хотя и не выполняет конструктор копирования...
87 просмотров
schedule
14.05.2023
Гарантированное удаление копии для инициализации массива с унифицированными фигурными скобками. Разве это не должно быть обязательным, начиная с С++ 17?
Насколько я правильно понимаю новые правила
https://en.cppreference.com/w/cpp/language/copy_elision
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0135r0.html
Этот код должен компилироваться для компиляторов, соответствующих...
87 просмотров
schedule
18.05.2022