Perguntas com a marcação «c++»

238
vetor vs. lista no STL

Notei no Effective STL que vector é o tipo de sequência que deve ser usada por padrão. O que isso significa? Parece que ignorar a eficiência vectorpode fazer qualquer coisa. Alguém poderia me oferecer um cenário em que vectornão é uma opção viável, mas listdeve ser...

238
O que é "rvalue reference for * this"?

Me deparei com uma proposta chamada "rvalue reference for * this" na página de status C ++ 11 do clang . Eu li bastante sobre referências a rvalue e as compreendi, mas acho que não sei disso. Também não consegui encontrar muitos recursos na web usando os termos. Há um link para o documento da...

236
O que é uma "unidade de tradução" em C ++

Eu estava lendo na época o "C ++ eficaz", escrito por Meyers, e me deparei com o termo "unidade de tradução". Alguém poderia me dar uma explicação sobre: 1) O que exatamente é 2) Quando devo considerar usá-lo ao programar com C ++ 3) Se estiver relacionado apenas ao C ++, ou pode ser usado...

232
round () para float em C ++

Eu preciso de uma função simples de arredondamento de ponto flutuante, assim: double round(double); round(0.1) = 0 round(-0.1) = 0 round(-0.9) = -1 Eu posso encontrar ceil()e floor()no math.h - mas não round(). Está presente na biblioteca C ++ padrão com outro nome ou está...

232
Por que eu usaria push_back em vez de emplace_back?

Os vetores C ++ 11 têm a nova função emplace_back. Ao contrário push_back, que depende de otimizações do compilador para evitar cópias, emplace_backusa o encaminhamento perfeito para enviar os argumentos diretamente ao construtor para criar um objeto no local. Parece-me que emplace_backfaz tudo o...

231
Como você usa corretamente os espaços para nome em C ++?

Eu venho de um plano de fundo Java, onde pacotes são usados, não espaços para nome. Estou acostumado a reunir classes que trabalham juntas para formar um objeto completo em pacotes e, em seguida, reutilizá-las posteriormente a partir desse pacote. Mas agora estou trabalhando em C ++. Como você usa...