c++11- все статьи тега ➜ страница 6


Почему вы используете std:: move, когда у вас есть && в C++11? [дубликат]

Возможные Дубликаты:может кто-нибудь объяснить мне семантику перемещения? недавно я присутствовал на семинаре C++11, и был дан следующий лакомый кусочек совета. when you have && and you are unsure, you will almost always use std::move может ли кто-нибудь объяснить мне, почему вы должны использовать std::move в отличие от некоторых альтернатив, а в некоторых случаях, когда вы не должны использовать std::move? ...

Получить статус std:: future

можно ли проверить, если a std::future закончил или нет? Насколько я могу судить, единственный способ сделать это-позвонить wait_for С нулевой продолжительностью и проверить, если статус ready или нет, но есть лучший способ? ...

Как отобразить индикатор выполнения в чистом C / C++ (cout/printf)?

Я пишу консольную программу на C++ для загрузки большого файла. Я знаю размер файла, и я начинаю рабочий поток для загрузки. Я хочу показать индикатор прогресса, чтобы он выглядел круче. Как отображать разные строки в разное время, но в одной и той же позиции, в cout или printf? ...

Что делает` std:: kill dependency', и почему я хочу его использовать?

я читал о новой модели памяти C++11, и я наткнулся на (§29.3/14-15). Я пытаюсь понять, почему я хотел бы использовать его. я нашел пример в предложение N2664 но это не помогало. он начинается с показа кода без std::kill_dependency. Здесь первая строка переносит зависимость во вторую, которая переносит зависимость в операцию индексирования, а затем переносит зависимость в элемент это. Если, гипотетически, компилятор "знает", что массив заполнен нулями, он может оптимизировать этот вызов до do ...

Почему c++11 constexpr настолько ограничительный?

Как вы, наверное, знаете, C++11 вводит constexpr ключевое слово. C++11 ввел ключевое слово constexpr, которое позволяет пользователю гарантируйте, что конструктор функции или объекта является временем компиляции постоянный. [...] Это позволяет компилятору понять и проверить, что [имя функции] является константа времени компиляции. мой вопрос почему такие строгие ограничения на форму функции, которые могут быть объявлены. Я понимаю желание гарантировать, что функция чиста, но поду ...

Почему не установить обратно() использовать равномерное инициализации?

следующий код: #include <vector> struct S { int x, y; }; int main() { std::vector<S> v; v.emplace_back(0, 0); } дает следующие ошибки при компиляции с GCC: In file included from c++/4.7.0/i686-pc-linux-gnu/bits/c++allocator.h:34:0, from c++/4.7.0/bits/allocator.h:48, from c++/4.7.0/vector:62, from test.cpp:1: c++/4.7.0/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up* ...

Получение "тип источника не является полиморфным" при попытке использовать динамическое приведение

struct A {}; struct B : A {}; int main() { A* a = new B(); B* b = dynamic_cast<B*>(a); } выдает: не динамическое приведение dynamic_cast 'а' (типа 'struct а*'), чтобы типа 'struct Б*' (типа источник не полиморфными) Как я могу сделать A полиморфные? Я хочу безопасно бросить его в B. (один из способов-добавить фиктивную виртуальную функцию, но есть ли лучший способ?) ...

C++ terminate вызывается без активного исключения

Я получаю ошибку C++ с потоковой обработкой: terminate called without an active exception Aborted вот код: #include <queue> #include <thread> #include <mutex> #include <condition_variable> template<typename TYPE> class blocking_stream { public: blocking_stream(size_t max_buffer_size_) : max_buffer_size(max_buffer_size_) { } //PUSH data into the buffer blocking_stream &operator<<(TYPE &other) { std::uni ...

Как называется эта необычная функция шаблона C++, используемая Boost.Дух?

приведенный ниже код от импульс.Документация Spirit x3. Он использует интересный синтаксис C++, который я никогда раньше не видела, который почти невозможно описать в поисковом запросе, не зная правильной терминологии. Является ли это сокращением для прямого объявления класса? Где эта функция упоминается в стандарте C++? namespace parser { using x3::eps; using x3::lit; using x3::_val; using x3::_attr; using ascii::char_; auto set_zero = [&](auto& ctx){ _val(ctx) ...

статические функции переменная функция constexpr против

есть ли разница между объявлением константы с плавающей запятой как static constexpr переменной и функции, как в примере ниже, или это просто вопрос стиля? class MY_PI { public: static constexpr float MY_PI_VAR = 3.14f; static constexpr float MY_PI_FUN() { return 3.14f; } } ...