c++11

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

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

Почему auto x{3} выводит список инициализаторов?

Я люблю auto в C++11. Это замечательно. Но у него есть одно несоответствие, которое действительно действует мне на нервы, потому что я все время спотыкаюсь: int i = 3; // i is an int with value 3 int i = int{3}; // i is an int with value 3 in ...

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

приведенный ниже код от импульс.Документация Spirit x3. Он использует интересный синтаксис C++, который я никогда раньше не видела, который почти невозможно описать в поисковом запросе, не зная правильной терминологии. Является ли это сокращением для ...

std:: vector, конструкция по умолчанию, C++11 и критические изменения

сегодня я столкнулся с довольно тонким вопросом, по которому я хотел бы иметь ваше мнение. рассмотрим следующий сад-разнообразие общего тела идиомы класса: struct S { S() : p_impl(new impl) {} private: struct impl; boost::shared_ptr< ...

Математические Функции Constexpr

Так заметили из этого страница что ни одна из математических функций в c++11, похоже, не использует constexpr, тогда как я считаю, что все они могут быть. Так что у меня остается два вопроса, один из которых-почему они решили не делать функции conste ...

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

Я получаю ошибку C++ с потоковой обработкой: terminate called without an active exception Aborted вот код: #include <queue> #include <thread> #include <mutex> #include <condition_variable> template<typename TYPE> cl ...

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

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

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

следующий код: #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++alloca ...

std:: thread вызывающий метод класса [дубликат]

Возможные Дубликаты:запустить поток с функцией-членом у меня есть небольшой класс: class Test { public: void runMultiThread(); private: int calculate(int from, int to); } как его можно выполнить методом calculate с двумя разными набор ...

Почему std:: ostream не может быть перемещен?

очевидно, что потоки не могут быть скопированы. Должна быть возможность перемещения потоков. Согласно 27.9.1.11 [ofstream.минусы] пункт 4 можно переместить построить std::ofstream (то же самое верно для std::ifstream,std::fstream и std::*stringstream ...

reinterpret cast между char* и std:: uint8 t* - safe?

теперь нам всем иногда приходится работать с двоичными данными. В C++ мы работаем с последовательностями байтов, причем с самого начала char был наш дом. Определено иметь sizeof из 1, это байт. И все библиотечные функции ввода-вывода используют char ...

Почему доступ к диапазону пар был удален из C++11?

Я только что обнаружил, что в какой-то момент проект C++11 имел std::begin/std::end перегрузок для кто-нибудь знает, почему он был удален? Я нахожу удаление очень неудачным, потому что, похоже, нет другого способа рассматривать пару итераторов ка ...

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

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

Когда функция constexpr оценивается во время компиляции?

поскольку возможно, что функция, объявленная как constexpr, может быть вызвана во время выполнения, по каким критериям компилятор решает, вычислять ли ее во время компиляции или во время выполнения? template<typename base_t, typename expo_t> ...

c++0x: правильный способ получения лямбда в качестве параметра по ссылке

Как правильно определить функцию, которая получает int->int лямбда-параметр по ссылке? void f(std::function< int(int) >& lambda); или void f(auto& lambda); Я не уверен, что последняя форма даже юридический синтаксис. существу ...

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

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

Где я могу найти стандартные документы C++11? [дубликат]

Возможные Дубликаты:где я могу найти текущие стандартные документы C или C++? где я могу найти полный стандарт C++11? Я знаю, что его особенности плавают по интернету, но я не могу найти сам документ. ...

Как работает реализация функции std:: is Эрика ниблера?

на прошлой неделе Эрик Niebler твиттере очень компактная реализация для std::is_function черты класса: #include <type_traits> template<int I> struct priority_tag : priority_tag<I - 1> {}; template<> struct priority_tag<0& ...

Использование C++11 futures: вложенные вызовы std:: async crash: ошибка компилятора / стандартной библиотеки?

после возникновения сбоев при введении вложенных вызовов std:: async в моей реальной программе, я смог воспроизвести проблему в следующем минимальный пример. Он часто падает, но не всегда. Вы видите что-нибудь, что идет не так, или это ошибка компиля ...

Получение ссылки на ссылки в C++11 лямбда

рассмотрим следующий пример: #include <functional> #include <iostream> std::function<void()> make_function(int& x) { return [&]{ std::cout << x << std::endl; }; } int main() { int i = 3; auto f = m ...