Preguntas etiquetadas con c++11

Use esta etiqueta para el código que debe compilarse como C ++ 11 (sin usar ninguna característica introducida en C ++ 14 o posterior).


4
¿Por qué copiamos y luego nos movemos?
Vi código en algún lugar en el que alguien decidió copiar un objeto y luego moverlo a un miembro de datos de una clase. Esto me dejó confuso porque pensé que el objetivo de mudarse era evitar copiar. Aquí está el ejemplo: struct S { S(std::string str) : data(std::move(str)) {} …

2
¿Cuáles son las reglas para el token “…” en el contexto de las plantillas variadas?
En C ++ 11 hay plantillas variadas como esta: template< class T, class... Args > unique_ptr<T> make_unique( Args&&... args ) { return unique_ptr<T>(new T(std::forward<Args>(args)...)); } Hay algunas curiosidades sobre esto: la expresión std::forward<Args>(args)...usa ambos Argsy, argspero solo una ...ficha. Además, std::forwardes una función de plantilla no variada que toma solo …


4
¿Cómo se implementa la función std ::?
De acuerdo con las fuentes que he encontrado, una expresión lambda es esencialmente implementada por el compilador creando una clase con el operador de llamada de función sobrecargado y las variables referenciadas como miembros. Esto sugiere que el tamaño de las expresiones lambda varía, y dadas suficientes referencias variables, ese …
98 c++  c++11  lambda 


6
Pasando un std :: array de tamaño desconocido a una función
En C ++ 11, ¿cómo haría para escribir una función (o método) que tome una matriz std :: de tipo conocido pero de tamaño desconocido? // made up example void mulArray(std::array<int, ?>& arr, const int multiplier) { for(auto& e : arr) { e *= multiplier; } } // lets imagine …
98 c++  c++11  stdarray 

6
¿Forma moderna de filtrar el contenedor STL?
Volviendo a C ++ después de años de C #, me preguntaba cuál sería la forma moderna (léase: C ++ 11) de filtrar una matriz, es decir, cómo podemos lograr algo similar a esta consulta de Linq: var filteredElements = elements.Where(elm => elm.filterProperty == true); ¿Para filtrar un vector de …
98 c++  c++11  stl 


4
¿Diferencia entre std :: system_clock y std :: stable_clock?
¿Cuál es la diferencia entre std::system_clocky std::steady_clock? (Un caso de ejemplo que ilustre diferentes resultados / comportamientos sería genial). Si mi objetivo es medir con precisión el tiempo de ejecución de las funciones (como un punto de referencia), ¿cuál sería la mejor elección entre std::system_clock, std::steady_clocky std::high_resolution_clock?
97 c++  c++11  timer  chrono 

8
initializer_list y mover semántica
¿Puedo sacar elementos de un std::initializer_list<T>? #include <initializer_list> #include <utility> template<typename T> void foo(std::initializer_list<T> list) { for (auto it = list.begin(); it != list.end(); ++it) { bar(std::move(*it)); // kosher? } } Dado que std::intializer_list<T>requiere atención especial del compilador y no tiene una semántica de valor como los contenedores normales de …

7
¿Cómo puedo pasar std :: unique_ptr a una función?
¿Cómo puedo pasar una std::unique_ptra una función? Digamos que tengo la siguiente clase: class A { public: A(int val) { _val = val; } int GetVal() { return _val; } private: int _val; }; Lo siguiente no se compila: void MyFunc(unique_ptr<A> arg) { cout << arg->GetVal() << endl; } int …
97 c++  c++11  unique-ptr 


3
¿Por qué no hay std :: stou?
C ++ 11 agregó algunas funciones nuevas de conversión de cadenas: http://en.cppreference.com/w/cpp/string/basic_string/stoul Incluye stoi (cadena a int), stol (cadena a largo), stoll (cadena a largo largo), stoul (cadena a unsigned long), stoull (cadena a unsigned long long). Notable en su ausencia es una función stou (cadena a unsigned). ¿Hay alguna …
96 c++  string  c++11  std 


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.