Resultados da pesquisa a pedido "unique-ptr"

2 a resposta

Por que shared_ptr <void> é legal, enquanto unique_ptr <void> está mal formado?

A pergunta realmente se encaixa no título: estou curioso para saber qual é a razão técnica para essa diferença, mas também a lógica? std::shared_ptr<void> sharedToVoid; // legal; std::unique_ptr<void> uniqueToVoid; // ill-formed;

1 a resposta

std :: unique_ptr e deleters personalizados

O "Effective Modern C ++" de Scott Meyer discute o uso destd::unique_ptr com deleter personalizado e estados: Deleters que são ponteiros de função geralmente causam o tamanho de umstd::unique_ptr crescer de uma palavra para duas. Para deleters ...

3 a resposta

Como preencher uma matriz de unique_ptr?

É possível usarstd:fill para preencher uma matriz deunique_ptrs? A intenção é ter indicadores distintos para objetos distintos que são inicializados com os mesmos parâmetros. Por exemplo: std::unique_ptr<int> ar[3]; std::fill(ar.begin(), ...

2 a resposta

Desempenho do redimensionamento de std :: vector <std :: unique_ptr <T>>

A concepção geral parece ser a de questd::unique_ptr temsem sobrecarga de tempo [https://stackoverflow.com/questions/22295665/how-much-is-the-overhead-of-smart-pointers-compared-to-normal-pointers-in-c] em comparação com os ponteiros brutos de ...

4 a resposta

Para dar suporte à semântica de movimentação, os parâmetros de função devem ser tomados por unique_ptr, value ou rvalue?

Uma das minhas funções pega um vetor como parâmetro e o armazena como uma variável de membro. Estou usando const referência a um vetor como descrito abaixo. class Test { public: void someFunction(const std::vector<string>& items) { m_items = ...

6 a resposta

Como uso um deleter personalizado com um membro std :: unique_ptr?

Eu tenho uma classe com um membro unique_ptr. class Foo { private: std::unique_ptr<Bar> bar; ... };A barra é uma classe de terceiros que possui uma função create () e uma função destroy (). Se eu quisesse usar umstd::unique_ptr com ele em uma ...

2 a resposta

Por que unique_ptr usa dois parâmetros de modelo quando shared_ptr usa apenas um?

Ambosunique_ptr [http://www.cplusplus.com/reference/memory/unique_ptr/]e shared_ptr [http://www.cplusplus.com/reference/memory/shared_ptr/shared_ptr/] aceite um destruidor personalizado para chamar o objeto que eles possuem. Mas no caso ...

2 a resposta

Inserir um vetor de unique_ptr em outro vetor

Eu tenho um vetor de unique_ptr e quero anexá-los a outro vetor de unique_ptrs. Eu normalmente faria uma inserção simples: std::vector<std::unique_ptr<foo>> bar; bar.push_back(std::unique_ptr<foo>(new foo(1))); std::vector<std::unique_ptr<foo>> ...

2 a resposta

Convertendo std :: unique_ptr <Derived> para std :: unique_ptr <Base>

Digamos que eu tenho funções de fábrica que lidam com classes base e derivada: #include <memory> using namespace std; struct B { virtual ~B() {} }; struct D : B {}; unique_ptr<B> MakeB() { auto b = unique_ptr<B>( new B() ); return b; // Ok! } ...

3 a resposta

Diferenças entre std :: make_unique e std :: unique_ptr com new

Fazstd::make_unique tem benefícios de eficiência comostd::makes_shared? Comparado à construção manualstd::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new int(1));