Resultados de la búsqueda a petición "unique-ptr"
Llamar al constructor initializer_list a través de make_unique / ma, ke_shared
Estoy tratando de usarstd::make_unique instanciar una clase cuyo constructor es recibir unstd::initializer_list. Aquí un caso mínimo: #include <string> #include <vector> #include <initializer_list> #include <memory> struct Foo { ...
Typedef un tipo shared_ptr con un borrador personalizado estático, similar a unique_ptr
He leído muchas preguntas sobre SO en un eliminador personalizado parashared_ptr yunique_ptr, y la diferencia entre los dos. Pero, todavía no he encontrado ninguna respuesta clara a esta pregunta: ¿Cómo se puede crear un tipo que actúe ...
std :: unique_ptr <T []> y eliminador de asignador personalizado
Estoy tratando de usarstd::unique_ptr<T[]> con asignadores de memoria personalizados. Básicamente, tengo asignadores personalizados que son subclases deIAllocator, que proporciona los siguientes métodos: void* Alloc( size_t size ) ...
¿Qué tiene de malo esta inicialización de unique_ptr?
¿Alguien puede decirme qué hay de malo en la siguiente inicialización de unique_ptr? int main() { unique_ptr<int> py(nullptr); py = new int; .... }g ++ -O2 xxx.cc -lm -o xxx -std = c ++ 11 dice: error: no match for ‘operator=’ (operand types ...
Un par de preguntas sobre SDL_Window y unique_ptr
Actualmente tuve un problema con el almacenamiento de un puntero SDL_Window como std :: unique_ptr. Lo que probé fue: std::unique_ptr<SDL_Window> window_;La solución: std::unique_ptr<SDL_Window, void(*)(SDL_Window*)> window_;El primer ...
¿Por qué el vector std :: unique_ptr obtiene una excepción de puntero no válida?
Escribí un código simple para ayudarme a entender los punteros inteligentes: string s = "str"; vector <unique_ptr<string>> pv ; pv.push_back(unique_ptr<string>(&s)); cout<<*(pv[0])<<endl;Este código se compila bien, pero me da un error de tiempo ...
¿Por qué no puedo hacer retroceder un_ptr único en un vector?
¿Qué tiene de malo este programa? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; ...
¿C ++ 11 unique_ptr y shared_ptr pueden convertirse al tipo del otro?
¿La biblioteca estándar de C ++ 11 proporciona alguna utilidad para convertir de unstd::shared_ptr astd::unique_ptr, ¿o viceversa? ¿Es esta operación segura?
¿Por qué es shared_ptr <void> legal, mientras que unique_ptr <void> está mal formado?
La pregunta realmente encaja en el título: tengo curiosidad por saber cuál es la razón técnica de esta diferencia, pero también la razón. std::shared_ptr<void> sharedToVoid; // legal; std::unique_ptr<void> uniqueToVoid; // ill-formed;
Rendimiento del cambio de tamaño std :: vector <std :: unique_ptr <T>>
La concepción general parece ser questd::unique_ptr tienesin tiempo de sobrecarga [https://stackoverflow.com/questions/22295665/how-much-is-the-overhead-of-smart-pointers-compared-to-normal-pointers-in-c] en comparación con los punteros crudos ...