O que é um ponteiro inteligente e quando devo usar
Um tipo de dado abstrato que simula um ponteiro enquanto fornece recursos adicionais, como coleta de lixo automática ou verificação de limites
O que é um ponteiro inteligente e quando devo usar
std::unique_ptr tem suporte para matrizes, por exemplo: std::unique_ptr<int[]> p(new int[10]); mas é necessário? provavelmente é mais conveniente usar std::vectorou std::array. Você encontra algum uso para essa
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 impulso...
Qual é a diferença entre o seguinte conjunto de ponteiros? Quando você usa cada ponteiro no código de produção? Exemplos seriam apreciados! scoped_ptr shared_ptr weak_ptr intrusive_ptr Você usa aumento no código de
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...
Na prática com C ++, o que é RAII , o que são indicadores inteligentes , como eles são implementados em um programa e quais são os benefícios de usar o RAII com indicadores
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...
Estou tendo problemas para entender o uso de ponteiros inteligentes como membros da classe em C ++ 11. Eu li muito sobre ponteiros inteligentes e acho que entendo como unique_ptre shared_ptr/ weak_ptrtrabalho em geral. O que eu não entendo é o uso real. Parece que todo mundo recomenda usar...
Li em alguns artigos que ponteiros brutos quase nunca deveriam ser usados. Em vez disso, eles sempre devem ser agrupados em ponteiros inteligentes, sejam eles de escopo ou compartilhados. No entanto, notei que estruturas como Qt, wxWidgets e bibliotecas como Boost nunca retornam nem esperam...
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...
Tem std::make_uniquealgum benefício em eficiência como std::make_shared? Comparado à construção manual std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new
Comparações, prós, contras e quando usar? Este é um spin-off de um encadeamento de coleta de lixo, onde o que eu pensava ser uma resposta simples gerou muitos comentários sobre algumas implementações específicas de ponteiros inteligentes, então parecia valer a pena começar um novo post. Em última...
É difícil dizer o que está sendo perguntado aqui. Esta questão é ambígua, vaga, incompleta, excessivamente ampla ou retórica e não pode ser respondida de forma razoável em sua forma atual. Para obter ajuda no esclarecimento dessa questão para que ela possa ser reaberta, visite a...
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...
Qual é a sobrecarga de ponteiros inteligentes em comparação com ponteiros normais em C ++ 11? Em outras palavras, meu código ficará mais lento se eu usar ponteiros inteligentes e, em caso afirmativo, quanto mais lento? Especificamente, estou perguntando sobre o C ++ 11 std::shared_ptre...
A questão cabe mesmo no título: tenho curiosidade de saber qual é a razão técnica para esta diferença, mas também a lógica? std::shared_ptr<void> sharedToVoid; // legal; std::unique_ptr<void> uniqueToVoid; //
Qual é o melhor método para passar a shared_ptrde um tipo derivado para uma função que recebe a shared_ptrde um tipo base? Eu geralmente passo shared_ptrs por referência para evitar uma cópia desnecessária: int foo(const shared_ptr<bar>& ptr); mas isso não funciona se eu tentar fazer...
Digamos que eu tenha uma classe com um método que retorna a shared_ptr. Quais são as possíveis vantagens e desvantagens de devolvê-lo por referência ou por valor? Duas pistas possíveis: Destruição precoce de objetos. Se eu retornar a referência shared_ptrby (const), o contador de referência não...
Ouvi dizer que auto_ptrestá sendo descontinuado no C ++ 11. Qual é a razão para isto? Também gostaria de saber a diferença entre auto_ptre shared_ptr.
O Sr. Lidström e eu tivemos uma discussão :) A alegação do Sr. Lidström é que uma construção shared_ptr<Base> p(new Derived);não exige que a Base tenha um destruidor virtual: Armen Tsirunyan : "Sério? O shared_ptr será limpo corretamente? Você poderia, neste caso, demonstrar como esse...