Результаты поиска по запросу "c++11"

2 ответа

Блокировка RW для потоков C ++ 11 [дубликат]

На этот вопрос уже есть ответ здесь: Как бы вы реализовали свою собственную блокировку чтения / записи в C ++ 11? [/questions/12033188/how-would-you-implement-your-own-reader-writer-lock-in-c11] 2 ответаЯ хотел бы использовать новые стандартные ...

3 ответа

Как извлечь __VA_ARGS__?

У меня есть макрос для вызова статической функции для каждого аргумента. Например: #define FOO(X) X::do(); #define FOO_1(X,Y) X::do(); Y::do();Мой вопрос заключается в том, что мне нужно использовать foo с переменным числом аргументов, можно ли ...

2 ответа

Обходной путь для блокировки асинхронного?

async вызов ниже блокирует, потому что деструктор возвращенного будущего блокирует: void foo() {} void foo_async() { std::async(std::launch::async, foo); }Но я не хочу блокировать! Я рассматриваю возможность использования следующего обходного ...

ТОП публикаций

1 ответ

Классовая инициализация членов статических данных

В C ++static члены не могут быть инициализированы в теле класса с этими исключениями: static Членыconst интегральный типМожнобытьstatic Членыconstexpr буквальный тип долженбытьМожете ли вы объяснить, почему эти исключения? Кроме того, это ...

1 ответ

Могу ли я заставить 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) = ...

2 ответа

Опытным путем определить значение категории выражения C ++ 11?

Каждое выражение в C ++ 11 имеет категорию значений. Один из lvalue, xvalue или prvalue. Есть ли способ написать макрос, который, учитывая любое выражение в качестве аргумента, будет выдавать строку «lvalue», «xvalue» или «prvalue» в ...

3 ответа

разрешение 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) = " << ...

4 ответа

Битовые поля «Инициализация в классе» приводят к «ошибке: lvalue требуется в качестве левого операнда присваивания»

struct bitfield { int i = 0; // ok int j : 8 = 0; // error: lvalue required as left operand of assignment };Каков правильный синтаксис для инициализации битовых полей с помощью функции «инициализация в классе» в C ++ 11?

2 ответа

Статические утверждения и 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 ...

2 ответа

В c ++ 11, dynamic_cast возвращает nullptr или 0?

Я хочу проверить результат dynamic_cast. В c ++ 11 (или c ++ 0x, для компиляторов, которые поддерживают nullptr), я должен сравнить с nullptr или 0? Имеет ли это значение, и если да, то почему? Зависит ли результат от компилятора?