Вопросы по теме 'c++11'

Копирование при записи с помощью shared_ptr при многопоточности
В отсутствие многопоточности реализация копирования при записи для shared_ptr (либо из boost, либо из tr1) с использованием unique() проста. Какие изменения необходимо внести при многопоточности? Счетчик ссылок является атомарным, поэтому я...
3141 просмотров
schedule 02.06.2023

Какой смысл в функциях по умолчанию в С++ 11?
В C++11 добавлена ​​возможность указать компилятору создать реализация по умолчанию любой из специальных функций-членов . Хотя я вижу значение удаления функции, где значение явного значения функции по умолчанию? Просто оставьте это поле пустым,...
10068 просмотров
schedule 28.08.2022

Почему ссылка C++0x rvalue не используется по умолчанию?
Одной из замечательных новых возможностей нового стандарта C++, C++0x, являются ссылки на rvalue. Ссылка rvalue похожа на ссылку lvalue (обычную), за исключением того, что она может быть привязана к временному значению (обычно временное значение...
3905 просмотров
schedule 11.10.2022

Можно ли безопасно создавать потоки во время статической инициализации?
В какой-то момент я читал, что потоки нельзя безопасно создавать до первой строки main(), потому что компиляторы вставляют специальный код, чтобы потоки работали во время статической инициализации. Поэтому, если у вас есть глобальный объект, который...
409 просмотров

Есть ли библиотека C ++ для создания сильных перечислений?
В идеале мне бы хотелось, чтобы следующие примеры работали, но я полагаю, что некоторые из них не могут быть реализованы на C ++. { typedef StrongEnum<Red=0, Green=1, Blue=2> Color; // not a C++ syntax Color c = Color::Red; // static...
1022 просмотров
schedule 23.02.2022

Скопируйте исключение в Visual C++ 2010 Beta 2
Я читал Хотите скорость? Передайте по значению в блоге C++ Next и создайте эту программу , чтобы понять семантику исключения копирования и перемещения в C++0x: #include <vector> #include <iostream> class MoveableClass {...
979 просмотров

Атомная реализация С++ 0x в вопросе С++ 98 о __sync_synchronize()
Я написал следующий атомарный шаблон с целью имитации атомарных операций, которые будут доступны в будущем стандарте С++ 0x. Однако я не уверен, что вызов __sync_synchronize(), который у меня есть для возврата базового значения, необходим....
5415 просмотров
schedule 21.06.2023

Избыточность определения оператора на основе диапазона
Глядя на n3092, в §6.5.4 мы находим эквивалентность цикла for на основе диапазона. Затем он продолжает говорить, чему равны __begin и __end . Он различает массивы и другие типы, и я нахожу это излишним (также сбивающим с толку). В нем...
4023 просмотров

Почему в C++0x или Boost.Thread нет блокировок с ограниченной областью действия для нескольких мьютексов?
Библиотека потоков С++ 0x или Boost.thread определяют функцию шаблона с переменным числом переменных, не являющуюся членом, которая блокирует все блокировки, избегая тупиковой блокировки. template <class L1, class L2, class... L3> void...
1671 просмотров
schedule 23.10.2023

Как собрать Boost с поддержкой C++0x?
Я не знаю, как собрать Boost с компиляторами C++0x. Какой вариант должен быть предоставлен bjam? Следует ли изменить файл user.config? Кто-нибудь может мне помочь? Лучший, Висенте
27395 просмотров
schedule 14.04.2024

Может Boost Program_options разделять значения аргументов через запятую
Если моя командная строка: > prog --mylist=a,b,c Можно ли настроить параметры программы Boost для просмотра трех различных значений аргумента для аргумента mylist ? Я настроил program_options как: namespace po =...
4197 просмотров
schedule 15.04.2022

Передача владения указателем сокета с помощью tcp::acceptor::async_accept
Недавно я начал использовать Boost.Asio в проекте и хотел бы знать, знает ли кто-нибудь чистое решение для передачи права собственности на вновь созданный сокет на tcp::acceptor::async_accept, что, в свою очередь, передаст это право собственности на...
1216 просмотров
schedule 06.03.2024

Что такое семантика перемещения?
Я только что закончил слушать радио Software Engineering интервью подкаста со Скоттом Мейерсом по поводу C ++ 0x . Большинство новых функций имели для меня смысл, и сейчас я действительно в восторге от C ++ 0x, за исключением одной. Я все еще не...
482020 просмотров
schedule 03.02.2022

Метод класса с количеством аргументов, заданным целочисленным параметром шаблона
Не был точно уверен, как сформулировать этот вопрос или что искать, поэтому, если это то же самое, что и другой вопрос, пожалуйста, закройте и перенаправьте на соответствующий вопрос. Предполагать template<typename Type, int Size> class...
559 просмотров
schedule 18.01.2023

std::tuple функция-член get()
boost::tuple имеет функцию-член get() , используемую следующим образом: tuple<int, string, string> t(5, "foo", "bar"); cout << t.get<1>(); // outputs "foo" Кажется, что C++0x std::tuple не имеет этой функции-члена, и...
14786 просмотров
schedule 12.02.2023

Перемещение ctor и перемещение dtor
Как я уже просил в Переместить конструктор/оператор= , и через некоторое время я согласился и принял правильное ответ на этот вопрос. Я только что подумал, было бы полезно иметь что-то вроде "Moving Destructor" , который вызывался бы для...
560 просмотров

для каждого в версии GCC и GCC
как я могу использовать для каждого цикла в GCC? и как я могу получить версию GCC? (в коде)
10690 просмотров
schedule 02.05.2023

Вариативные шаблоны
Я видел много ссылок, представляющих вариативные шаблоны. Но я никогда не видел компилируемого примера, демонстрирующего этот подход. Может ли кто-нибудь предоставить мне ссылки, в которых можно найти такие компилируемые примеры?
14556 просмотров
schedule 22.02.2022

Автоматический шаблон ручной работы (без использования C++0x)
Как можно реализовать функциональность ключевого слова auto без использования стандарта С++ 0x? for(std::deque<std::pair<int, int> >::iterator it = points.begin(); it != points.end(); ++it) { ... } Может такой класс:...
531 просмотров
schedule 08.01.2024

Как указать флаг С++ 0x на Cent OS
Команда g++ -o myprogram myprogram.c -std=c++0x хорошо работает в Ubuntu, но когда я пытаюсь сделать то же самое с Centos, она выдает ошибку cc1plus: error: unrecognized command line option "-std=c++0x" . Даже гугл не дает ответа. Кто-нибудь...
4123 просмотров
schedule 30.09.2022