Resultados de la búsqueda a petición "c++11"

2 la respuesta

¿Qué tiene de malo esta inicialización de unique_ptr?

¿Alguien puede decirme qué hay de malo en la siguiente inicialización de unique_ptr? int main() { unique_ptr<int> py(nullptr); py = new int; .... }g ++ -O2 xxx.cc -lm -o xxx -std = c ++ 11 dice: error: no match for ‘operator=’ (operand types ...

2 la respuesta

¿Cómo establecer el mismo tipo para todos los argumentos en este ejemplo?

Solo por práctica, estoy tratando de escribir una plantilla variadic que ingrese algunos valores en el vector. Escribí lo siguiente: template <class T> void add(vector<T> *v, T n){ v->push_back(n); } template <class T, class... T2> void ...

1 la respuesta

Si la dirección de una función no se puede resolver durante la deducción, ¿es SFINAE o un error del compilador?

En C ++ 0x, las reglas de SFINAE se han simplificado de forma tal que cualquier expresión o tipo no válido que ocurra en el "contexto inmediato" de deducción no resulte en un error del compilador sino en un error de deducción (SFINAE). Mi ...

3 la respuesta

¿Cuándo podemos omitir el tipo de retorno en un C ++ 11 lambda?

Tan lejos como yosaber [http://en.cppreference.com/w/cpp/language/lambda], en el estándar C ++ 11 (no C ++ 14), al omitir el tipo de retorno de una lambda, se deduce que su tipo de retorno es: El tipo de la expresión devuelta, siempre que la ...

3 la respuesta

Cierre y lambdas anidadas en C ++ 0x

Usando C ++ 0x, ¿cómo capturo una variable cuando tengo un lambda dentro de un lambda? Por ejemplo: std::vector<int> c1; int v = 10; <--- I want to capture this variable std::for_each( c1.begin(), c1.end(), [v](int num) <--- This is fine... ...

2 la respuesta

habilitar el miembro de la clase según la plantilla

Ya sé que puedes habilitar (o no) el método de una clase usandostd::enable_if por ejemplo: template<size_t D, size_t E> class Field { ... size_t offset(const std::array<float,D>& p) const { ... } template<typename TT = size_t> ...

2 la respuesta

Cómo mejorar el paso de parámetros std :: vector (¿mover semántica?)

Parece que no puedo entender completamente la semántica de movimiento: quiero llenar unstd::vector (miembro de una clase) de una función externa. Actualmente, tengo algo como: void fillVector(MyClass & myclass) { std::vector<int> vec; /* Filling ...

2 la respuesta

¿Por qué std :: move toma una referencia hacia adelante?

La implementación destd::move básicamente se ve así: template<typename T> typename std::remove_reference<T>::type&& move(T&& t) { return static_cast<typename std::remove_reference<T>::type&&>(t); }Tenga en cuenta que el parámetro destd::move es ...

2 la respuesta

c ++: error: ningún tipo llamado ‘tipo’ en ‘clase std :: result_of <void (* (std :: unordered_map

El siguiente es solo un programa simple para probar usando dos hilos para insertar una tabla hash. Para la prueba no se usa bloqueo. #include <iostream> #include <unordered_map> #include <thread> using namespace std; void ...

1 la respuesta

¿Por qué `unique_ptr <QByteArray>` no se degrada a `QByteArray *`?

Tengo el siguiente código: msg_buf_ptr = std::make_unique<QByteArray>(); return QDataStream{msg_buf_ptr, QIODevice::WriteOnly};Estoy teniendo el siguiente error: no known conversion for argument 1 from ‘std::unique_ptr<QByteArray>’ ...