c++11
я экспериментировал с C++0x вариативными шаблонами, когда я наткнулся на эту проблему: template < typename ...Args > struct identities { typedef Args type; //compile error: "parameter packs not expanded with '...' }; //The following code just shows an example of potential use, but has no relation ...
bool compare_exchange_weak (T& expected, T val, ..); compare_exchange_weak() является одним из примитивов compare-exchange, представленных в C++11. Это слабый в том смысле, что он возвращает false, даже если значение объекта равно expected. Это связано с ложные отказ на некоторых платформах, где для его...
если он даже существует, что бы a std::map расширенный список инициализаторов выглядит так? Я пробовал некоторые комбинации... ну, все, что я мог придумать с GCC 4.4, но не нашел ничего, что было скомпилировано....
я начал пробовать стандарт C++11, и я нашел этой вопрос, который описывает, как вызвать ваш ctor из другого ctor в том же классе, чтобы избежать наличия метода init или тому подобного. Сейчас я пытаюсь то же самое с кодом, который выглядит так: ГЭС: class Tokenizer { public: Tokenizer(); Tokenizer(std::...
я хочу создать std::set С пользовательской функцией сравнения. Я мог бы определить его как класс operator(), но я хотел наслаждаться возможностью определить лямбда, где он используется, поэтому я решил определить лямбда-функцию в списке инициализации конструктора класса, который имеет std::set как участник. Н...
объявление для оператора [] на std:: map таково: T& operator[] ( const key_type& x ); есть ли причина, почему это не так? T& operator[] ( const key_type& x ); const T& operator[] const ( const key_type& x ); потому что это было бы невероятно полезно в любое время, когда вам нужно...
У меня есть класс контейнера прокси вокруг подвижного объекта и я хочу, чтобы прокси мог неявно давать ссылку rvalue на базовый объект, но только когда сам прокси перемещается. Я считаю, что я смогу реализовать это поведение в соответствии с предложением n2439 "расширение семантики перемещения до *this", н...
Как я могу перебирать кортеж (используя C++11)? Я попробовал следующее, Но это не работает: for(int i=0; i<std::tuple_size<T...>::value; ++i) std::get<i>(my_tuple).do_sth(); Ошибка 1: извините, нереализовано: не удается развернуть ' прослушиватель ...- в список аргументов фиксированно...
рассмотрим этот код: #include <iostream> #include <functional> int xx = 7; template<class T> void f1(T arg) { arg += xx; } template<class T> void f2(T arg) { arg = xx; } int main() { int j; j=100; f1(std::ref(j)); std::cout << j << std::endl; ...
пожалуйста, взгляните на следующий простой код: class Foo { public: Foo(){} ~Foo(){} Foo(const Foo&){} Foo& operator=(const Foo&) { return *this; } }; static Foo g_temp; const Foo& GetFoo() { return g_temp; } Я пытался использовать auto такой: auto my_foo = GetFoo(); Я ожидал, ...