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

1 la respuesta

C ++ 11 lambdas: captura de variables miembro gotcha

Considere este código: #include <memory> #include <iostream> class A { public: A(int data) : data_(data) { std::cout << "A(" << data_ << ")" << std::endl; } ~A() { std::cout << "~A()" << std::endl; } void a() { std::cout << data_ << std::endl; ...

3 la respuesta

¿Por qué está deshabilitada la deducción de argumentos de plantilla con std :: forward?

In VS2010 std :: forward se define como tal: template<class _Ty> inline _Ty&& forward(typename identity<_Ty>::type& _Arg) { // forward _Arg, given explicitly specified type parameter return ((_Ty&&)_Arg); }identityarece que @ se usa únicamente ...

3 la respuesta

try catch finalmente construir: ¿está en C ++ 11? [duplicar

Posible duplicado: ¿C ++ admite bloques 'finalmente'? (¿Y de qué habla este 'RAII'?) [https://stackoverflow.com/questions/161177/does-c-support-finally-blocks-and-whats-this-raii-i-keep-hearing-about] ¿Try / catch / finally construct es ...

3 la respuesta

¿Puedo especializar una plantilla de clase con una plantilla de alias?

Aquí hay un ejemplo simple: class bar {}; template <typename> class foo {}; template <> using foo<int> = bar; ¿Está permitido?

6 la respuesta

¿Hay contenedores concurrentes en C ++ 11? [cerrado

En particular, estoy buscando una cola de bloqueo. ¿Existe tal cosa en C ++ 11? Si no, ¿cuáles son mis otras opciones? Realmente ya no quiero bajar al nivel del hilo. Demasiado propenso a errores.

4 la respuesta

detección de typedef en tiempo de compilación (metaprogramación de plantilla)

Actualmente estoy haciendo una metaprogramación de plantilla. En mi caso, puedo manejar cualquier tipo "iterable", es decir, cualquier tipo para el que untypedef foo const_iterator existe de la misma manera. Intenté utilizar la nueva ...

4 la respuesta

callback vs lambda

Suponga que tengo el siguiente código que deseo refactorizar: int toFuture() { precalc(); int calc = 5 * foobar_x() + 3; postcalc(); return calc; } int toPast() { precalc(); int calc = 5 * foobar_y() - 9; postcalc(); return calc; } En classic-C, ...

2 la respuesta

¿Por qué no puedo capturar el puntero "this" con una lambda?

Considere el siguiente código: class A { public: void foo() { auto functor = [this]() { A * a = this; auto functor = [a]() // The compiler won't accept "this" instead of "a" { a->bar(); }; }; } void bar() {} }; En VC2010, usandothis en lugar ...

4 la respuesta

En C ++ 11, ¿cuándo se supone que las variables ligadas de una expresión lambda se capturan por valor?

Tengo un programa Visual Studio 2010 C ++, cuya función principal es: vector<double> v(10); double start = 0.0; double increment = 10.0; auto f = [&start, increment]() { return start += increment; }; generate(v.begin(), v.end(), f); for(auto it ...

1 la respuesta

RVO, mover operaciones y un dilema

e estado aprendiendo acerca de los constructores de movimientos durante el último día más o menos, tratando de cumplir con una regla general de retorno por valor como la mayoría de la gente parece sugerir, y me he encontrado con un dilema ...