Preguntas etiquetadas con c++

84
¿Reutilizando un contenedor movido?

¿Cuál es la forma correcta de reutilizar un contenedor movido? std::vector<int> container; container.push_back(1); auto container2 = std::move(container); // ver1: Do nothing //container2.clear(); // ver2: "Reset" container = std::vector<int>() // ver3:

84
¿Es x + = a más rápido que x = x + a?

Estaba leyendo "El lenguaje de programación C ++" de Stroustrup, donde dice que hay dos formas de agregar algo a una variable x = x + a; y x += a; Él prefiere +=porque probablemente esté mejor implementado. Creo que quiere decir que también funciona más rápido. ¿Pero realmente es así? Si...

84
Enum vs enumeración fuertemente tipada

Soy un principiante en programación C ++. Hoy me encuentro con un nuevo tema: fuertemente tipado enum. Lo he investigado un poco, pero hasta ahora no he podido averiguar por qué lo necesitamos y para qué sirve. Por ejemplo si tenemos: enum xyz{a, b, c}; /*a = 0, b = 1, c = 2, (Typical C...

84
¿Cómo funciona std :: flush?

¿Alguien puede explicar (preferiblemente en inglés sencillo) cómo std::flushfunciona? ¿Qué es? ¿Cuándo descargarías un arroyo? ¿Por qué es importante? Gracias.

84
Cómo definir diferentes tipos para la misma clase en C ++

Me gustaría tener varios tipos que compartan la misma implementación pero que sigan siendo de diferente tipo en C ++. Para ilustrar mi pregunta con un ejemplo simple, me gustaría tener una clase para Manzanas, Naranjas y Plátanos, todas con las mismas operaciones y la misma implementación. Me...

84
std :: dynarray vs std :: vector

C ++ 14 presenta std::dynarray: std :: dynarray es un contenedor de secuencia que encapsula matrices con un tamaño que se fija en la construcción y no cambia durante la vida útil del objeto. std::dynarraydebe asignarse en tiempo de ejecución al igual que std::vector. Entonces, ¿cuáles son...

84
std :: matriz vs rendimiento de matriz

Si quiero construir una matriz muy simple como int myArray[3] = {1,2,3}; ¿Debería usar std::arrayen su lugar? std::array<int, 3> a = {{1, 2, 3}}; ¿Cuáles son las ventajas de usar std :: array sobre los habituales? ¿Es más eficaz? ¿Simplemente más fácil de manejar para copiar /...

84
¿`New` en` new int; `se considera un operador?

La expresión new int;como en int * x = new int;es una nueva expresión . El término "nuevo operador" parece usarse indistintamente con "nueva expresión", por ejemplo en esta pregunta: ¿ Diferencia entre 'nuevo operador' y 'operador nuevo'? ¿Es correcto decir que la palabra clave newtal como se...