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

3 la respuesta

Forma correcta (mover semántica) para devolver un std :: vector de la función que llama en C ++ 11

Quiero llenar std :: vector (o algún otro contenedor STL): class Foo { public: Foo(int _n, const Bar &_m); private: std::vector<Foo> fooes_; } 1.Ctor atractivo, rendimiento costoso std::vector<Foo> get_vector(int _n, const Bar &_m) { ...

4 la respuesta

Implementar operadores de comparación a través de 'tupla' y 'empate', ¿es una buena idea?

(Nota:tuple ytie puede tomarse de Boost o C ++ 11.) Cuando escribo pequeñas estructuras con solo dos elementos, a veces tiendo a elegir unstd::pair, ya que todo lo importante ya está hecho para ese tipo de datos, comooperator< para pedidos ...

1 la respuesta

Move o optimización de valor de retorno con nombre (NRVO)?

Dejemos que tengamos el siguiente código: std::vector<int> f() { std::vector<int> y; ... return y; } std::vector<int> x = ... x = f();arece que el compilador tiene dos enfoques aquí: (a) NRVO: Destruya x, luego construya f () en lugar de ...

2 la respuesta

Es obsoleto el idioma de Safe-Bool en C ++ 11?

Esta respuesta de @R. Martinho Fernandes [https://stackoverflow.com/questions/6242296/conversion-function-for-error-checking-considered-good/6242355#6242355] muestra que el idioma de Safe-Bool aparentemente está en desuso en C ++ 11, ya que ...

8 la respuesta

Pretty-print std :: tuple

Esta es una continuación de mi pregunta anterior sobre contenedores STL de impresión bonita [https://stackoverflow.com/questions/4850473/pretty-print-c-stl-containers], para lo cual logramos desarrollar una solución muy elegante y ...

2 la respuesta

Existe un rasgo de tipo para eliminar el cv y la referencia de nivel superior a la vez?

Solo quiero saber si ya hay uno provisto por el estándar. Sé que es fácil hacer uno tú mismo // for C++03, use <tr1/type_traits> and std::tr1 #include <type_traits> template<class T> struct remove_toplevel{ typedef ...

1 la respuesta

std :: transformar y mover semántica

Estoy usando Boost.Filesystem para crear una lista de archivos en un directorio. Yo sueloboost::filesystem::recursive_directory_iterator ystd::copy para poner cada ruta en un std :: vector comoboost::filesystem::directory_entry objeto. Sin ...

2 la respuesta

¿Cuándo es válida la inicialización agregada en C ++ 11?

Dejemos que tengamos el siguiente código: #include <iostream> #include <string> struct A { A() {} A(const A&) { std::cout << "Copy" << std::endl; } A(A&&) { std::cout << "Move" << std::endl; } std::string s; }; struct B { A a; }; int main() { ...

2 la respuesta

Es C ++ 11 (C ++ 0x) un súper conjunto completo de C ++ 03?

C++ considerado (casi) súper conjunto deC; pero aún hay ciertas cosas que funcionan enC y no enC++. ¿Hay alguna característica / instalación que sea válidaC++03 pero no funciona enC++11 ?

1 la respuesta

C ++: error de clases de plantilla anidadas "especialización explícita en el ámbito sin espacio de nombres"

El siguiente código: template <class T1> struct A1 { template <int INDEX> struct A2 { /* ... */ }; template <> struct A2<-1> { /* ... */ }; }; int main() { A1<int>::A2<-1> x; } Da este error: prog.cpp: 7: 13: error: especialización explícita ...