Preguntas etiquetadas con stl

La Biblioteca de plantillas estándar, o STL, es una biblioteca C ++ de contenedores genéricos, iteradores, algoritmos y objetos de función. Cuando C ++ se estandarizó, grandes partes de la STL se adoptaron en la Biblioteca estándar, y estas partes en la Biblioteca estándar también se denominan a veces erróneamente colectivamente como "la STL".



11
¿Cómo borro la cola std :: de manera eficiente?
Estoy usando std :: queue para implementar la clase JobQueue. (Básicamente, esta clase procesa cada trabajo de manera FIFO). En un escenario, quiero borrar la cola de una vez (eliminar todos los trabajos de la cola). No veo ningún método claro disponible en la clase std :: queue. ¿Cómo implemento …
166 c++  stl  queue 


3
¿Cómo obtener std :: puntero vectorial a los datos en bruto?
Estoy tratando de usar std::vectorcomo una charmatriz. Mi función toma un puntero vacío: void process_data(const void *data); Antes simplemente usaba este código: char something[] = "my data here"; process_data(something); Que funcionó como se esperaba. Pero ahora necesito la dinámica de std::vector, así que probé este código en su lugar: vector<char> …
160 c++  stl  vector 

3
¿Cuáles son las garantías de complejidad de los contenedores estándar?
Aparentemente ;-) los contenedores estándar ofrecen alguna forma de garantía. ¿Qué tipo de garantías y cuáles son exactamente las diferencias entre los diferentes tipos de contenedores? Trabajando desde la página de SGI (sobre STL ) se me ocurrió esto: Container Types: ================ Container: Forward Container Reverse Container Random Access Container …
160 c++  stl  containers  big-o 

9
C ++ valarray vs. vector
Me gustan mucho los vectores. Son ingeniosos y rápidos. Pero sé que existe esta cosa llamada valarray. ¿Por qué usaría un valarray en lugar de un vector? Sé que los valarrays tienen algo de azúcar sintáctica, pero aparte de eso, ¿cuándo son útiles?


2
¿Qué significa iterador-> segundo?
En C ++, ¿cuál es el tipo de a std::map<>::iterator? Sabemos que un objeto itde tipo std::map<A,B>::iteratortiene una sobrecarga operator ->que devuelve un std::pair<A,B>*, y que std::pair<>tiene un miembro firsty second. Pero, ¿a qué corresponden estos dos miembros y por qué tenemos que acceder al valor almacenado en el mapa …
157 c++  stl  iterator 

7
forma rápida de copiar un vector en otro
Prefiero dos formas: void copyVecFast(const vec<int>& original) { vector<int> newVec; newVec.reserve(original.size()); copy(original.begin(),original.end(),back_inserter(newVec)); } void copyVecFast(vec<int>& original) { vector<int> newVec; newVec.swap(original); } ¿Cómo lo haces?
155 c++  algorithm  stl 

5
Cuando se asignan vectores, ¿usan memoria en el montón o en la pila?
¿Son ciertas todas las siguientes afirmaciones? vector<Type> vect; //allocates vect on stack and each of the Type (using std::allocator) also will be on the stack vector<Type> *vect = new vector<Type>; //allocates vect on heap and each of the Type will be allocated on stack vector<Type*> vect; //vect will be on …
151 c++  stl  vector  stack  heap 



11
¿Cómo elimino un elemento de un vector stl con un cierto valor?
Estaba mirando la documentación de la API para stl vector, y noté que no había ningún método en la clase de vector que permitiera la eliminación de un elemento con un cierto valor. Esto parece una operación común, y parece extraño que no haya una forma integrada de hacer esto.
145 c++  stl 


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.