Perguntas com a marcação «smart-pointers»

Um tipo de dado abstrato que simula um ponteiro enquanto fornece recursos adicionais, como coleta de lixo automática ou verificação de limites



4
Que tipo de ponteiro eu uso quando?
Ok, então a última vez que escrevi C ++ para viver, std::auto_ptrera tudo o que a lib std tinha disponível, e boost::shared_ptrera toda a raiva. Eu realmente nunca olhei para os outros tipos de ponteiros inteligentes fornecidos. Entendo que o C ++ 11 agora fornece alguns dos tipos que o …


2
Por que não posso enviar push_back um unique_ptr para um vetor?
O que há de errado com 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; } O erro: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void …


4
std :: auto_ptr para std :: unique_ptr
Com a chegada do novo padrão (e peças já disponíveis em alguns compiladores), o novo tipo std::unique_ptrdeve ser um substituto std::auto_ptr. O uso deles se sobrepõe exatamente (para que eu possa localizar / substituir globalmente no meu código (não que eu faria isso, mas se o fizesse)) ou devo estar …



6
Por que eu std :: move um std :: shared_ptr?
Estive pesquisando o código-fonte do Clang e encontrei este trecho: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Por que eu iria querer std::moveum std::shared_ptr? Existe algum ponto em transferir a propriedade de um recurso compartilhado? Por que eu não faria isso? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = …




4
Onde está shared_ptr?
Estou muito frustrado agora, depois de várias horas tentando descobrir onde shared_ptr está localizado. Nenhum dos exemplos que vejo mostra código completo para incluir os cabeçalhos para shared_ptr(e funcionando). Simplesmente afirmando std, tr1e <memory>não está ajudando em nada! Eu baixei boosts e tudo, mas ainda não aparece! Alguém pode me …


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.