Resultados de la búsqueda a petición "unique-ptr"

2 la respuesta

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 { ...

2 la respuesta

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 ...

2 la respuesta

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 ) ...

2 la respuesta

¿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 ...

2 la respuesta

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 ...

2 la respuesta

¿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 ...

2 la respuesta

¿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; ...

2 la respuesta

¿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?

2 la respuesta

¿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;

2 la respuesta

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 ...