Результаты поиска по запросу "c++11"
Блокировка RW для потоков C ++ 11 [дубликат]
На этот вопрос уже есть ответ здесь: Как бы вы реализовали свою собственную блокировку чтения / записи в C ++ 11? [/questions/12033188/how-would-you-implement-your-own-reader-writer-lock-in-c11] 2 ответаЯ хотел бы использовать новые стандартные ...
Как извлечь __VA_ARGS__?
У меня есть макрос для вызова статической функции для каждого аргумента. Например: #define FOO(X) X::do(); #define FOO_1(X,Y) X::do(); Y::do();Мой вопрос заключается в том, что мне нужно использовать foo с переменным числом аргументов, можно ли ...
Обходной путь для блокировки асинхронного?
async вызов ниже блокирует, потому что деструктор возвращенного будущего блокирует: void foo() {} void foo_async() { std::async(std::launch::async, foo); }Но я не хочу блокировать! Я рассматриваю возможность использования следующего обходного ...
Классовая инициализация членов статических данных
В C ++static члены не могут быть инициализированы в теле класса с этими исключениями: static Членыconst интегральный типМожнобытьstatic Членыconstexpr буквальный тип долженбытьМожете ли вы объяснить, почему эти исключения? Кроме того, это ...
Могу ли я заставить C ++ 11 лямбда возвращаться по ссылке?
Это не компилируется, так каклямбдавыражение возвращает значение: #include <iostream> class Item { public: int& f(){return data_;} private: int data_ = 0; }; int main() { Item item; auto lambda = [](Item& item){return item.f();}; lambda(item) = ...
Опытным путем определить значение категории выражения C ++ 11?
Каждое выражение в C ++ 11 имеет категорию значений. Один из lvalue, xvalue или prvalue. Есть ли способ написать макрос, который, учитывая любое выражение в качестве аргумента, будет выдавать строку «lvalue», «xvalue» или «prvalue» в ...
разрешение std :: chrono :: high_resolution_clock не соответствует измерениям
Позвольте мне задать свой вопрос по этой тестовой программе: #include <iostream> #include <chrono> using std::chrono::nanoseconds; using std::chrono::duration_cast; int main(int argc, char* argv[]) { std::cout << "resolution (nano) = " << ...
Битовые поля «Инициализация в классе» приводят к «ошибке: lvalue требуется в качестве левого операнда присваивания»
struct bitfield { int i = 0; // ok int j : 8 = 0; // error: lvalue required as left operand of assignment };Каков правильный синтаксис для инициализации битовых полей с помощью функции «инициализация в классе» в C ++ 11?
Статические утверждения и SFINAE
Учти это: template <typename T> struct hash { static_assert(false,"Not implemented."); }; struct unhashable {}; template <typename T> auto test(const T &t) -> decltype((*(hash<T> const *)nullptr)(t),int); void test(...); int main() { std::cout ...
В c ++ 11, dynamic_cast возвращает nullptr или 0?
Я хочу проверить результат dynamic_cast. В c ++ 11 (или c ++ 0x, для компиляторов, которые поддерживают nullptr), я должен сравнить с nullptr или 0? Имеет ли это значение, и если да, то почему? Зависит ли результат от компилятора?