stl

Forma "correcta"de desasignar un objeto std:: vector

La primera solución es: std::vector<int> *vec = new std::vector<int>; assert(vec != NULL); // ... delete vec; ... ción: Soy consciente de que el destructor se llamará una vez que esté fuera de la pila, tenía curiosidad por otros métodos.

Tipos de iterador: Salida de Entrada vs vs Forward vs Iterador de Acceso Aleatorio

¿Cuántos tipos de iteradores hay en C++ STL? A partir de ahora, sé de estos: Iterador de salida Iterador de entrada Itera ... les son las diferencias entre ellos? ¿Cuáles son las limitaciones y características de cada uno? ¿Qué tipo se utiliza cuando?

Comprobación de la existencia en std:: map-count vs find

Así que parece que hay dos métodos generalmente aceptables para determinar si existe o no una clave en un std:: map: map.fi ... 0 o 1). ¿Se garantiza que count () se" detenga " después de una coincidencia, operando con la misma complejidad que find ()?

La mejor manera de vaciar stringstream?

Una de las posibilidades es: somestringstream.str(""); Pero ¿es lo más óptimo? ¿Hay alguna forma de preservar el búfer interno de stringstream, de modo que las siguientes llamadas al operador

size() Vs empty() en vector - ¿por qué se prefiere empty ()?

Mientras depuraba algo, vi la implementación STL vector::empty (): bool empty() const {return (size() == 0); } Cr ... 0); Estoy un poco confundido ahora. Si empty internamente usa size () entonces ¿por qué preferiríamos empty sobre size ()?

Diferencia entre std:: list y std::map en C++ stl

¿Puede decirme la diferencia entre std::list y std::map? ¿Puedo usar el método find en la lista también? Gracias. Clarification Aclaración Pregunta editada para ser más clara.

Usando un mapa STL de punteros de función

Desarrollé un motor de scripting que tiene muchas funciones incorporadas, por lo que para llamar a cualquier función, mi códi ... podría minimizar el número de comparaciones comprobando un carácter en tiempo de ejecución (será más largo pero más rápido).

Por qué push back es más lento que operator [] para un vector asignado anterior

Acabo de leer este blog http://lemire.me/blog/archives/2012/06/20/do-not-waste-time-with-stl-vectors / comparando el rendim ... g s2 = routine2(); long s3 = routine3(); long s4 = routine4(); long s5 = routine5(); return int (s1 + s2); }

¿Los iteradores const son más rápidos?

Nuestras pautas de codificación prefieren const_iterator, porque son un poco más rápidas en comparación con un iterator norma ... staba tomando unos milisegundos (alrededor de 16 ms) menos. Pero no siempre. Había iteraciones en las que ambos eran iguales.

Iteradores Vectoriales Incompatibles

Tengo una clase con un miembro de datos vectoriales std:: e. g. class foo{ public: const std::vector<int> getVec(){r ... tVec().end()) { //do stuff ++i; } En el momento en que llego a este bucle, obtengo el error mencionado anteriormente.

STL forma de acceder a más elementos al mismo tiempo en un bucle sobre un contenedor

¿Es posible reescribir este bucle raw: vector<double> v { ... }; for (size_t i = 1; i<v.size(); ++i) { v[i]*=v[ ... anera más STLish? ¿Hay otras formas que sean iguales o mejores (tanto en estilo como en interpretación) que las anteriores?

C++ ¿ Cómo encontrar la clave más grande en un mapa std::?

En este momento mi solución es recorrer el mapa para resolver esto. Veo que hay un método upper_bound que puede hacer este bucle más rápido, pero ¿hay una forma más rápida o más sucinta?

Cómo actualizar un elemento existente de std::set?

Tengo un std::set<Foo>, y me gustaría actualizar algún valor de un elemento existente en el mismo. Tenga en cuenta que ... hacer esto? ¿O tengo que comprobar si el elemento ya está allí, y si es así, eliminarlo, añadir el valor y volver a insertar?

Forma correcta (mover semántica) de devolver un std:: vector de una 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: ... mer ejemplo con C++0x (mover características semánticas, etc.) para evitar la copia redundante y las llamadas al constructor?

std:: vector reserve() y push back() es más rápido que resize () y array index, ¿por qué?

Estaba haciendo una prueba de rendimiento rápida en un bloque de código void ConvertToFloat( const std::vector< short > ... o asigna pero no construye? Esto es lo único que se me ocurre. PS esto se probó en un solo núcleo AMD Turion 2GHz 64 ML-37.

¿Es razonable usar std:: basic string como buffer contiguo cuando se apunta a C++03?

Sé que en C++03, técnicamente la plantilla std::basic_string no es necesaria para tener memoria contigua. Sin embargo, tengo ... ra requiere que basic_string sea contiguo, por lo que la pregunta anterior no es un problema cuando se dirige a ese estándar.

¿Cuándo se deben usar los algoritmos STL en lugar de usar los suyos propios?

Uso con frecuencia los contenedores STL, pero nunca he utilizado los algoritmos STL que se van a utilizar con los contenedore ... culos de páginas web hasta proyectos de código abierto, no he visto su uso. ¿Se usan con más frecuencia de lo que parece?

Usando std:: map donde V no tiene constructor predeterminado utilizable

Tengo una tabla de símbolos implementada como std::map. Para el valor, no hay forma de construir legítimamente una instancia ... r l de operator[], por lo que parece que lo que quiero no se puede hacer, así que tendré que prescindir de usarlo todo junto.

¿La inserción en el mapa STL invalida otro iterador existente?

Utilicé std::map en STL. ¿Puedo usar el iterador después de algún otro elemento insertado en el mapa? ¿Sigue siendo válido?

¿Vector:: erase () en un vector de punteros de objeto destruye el objeto en sí?

Tengo un vector de punteros a objetos. Necesito eliminar un elemento del vector y colocar ese elemento en otra lista. Leí q ... o también leí que llama a los objetos destructor antes de hacerlo. Necesito saber si borrar el objeto también lo destruirá.