Articles of c ++ c ++ faq

Por que os membros da minha estrutura não foram inicializados corretamente usando `{}`?

Eu tinha o seguinte código: #include struct T { int a, b, c; }; int main() { T t = {0}; std::cout << ta << ',' << tb << ',' << tc << '\n'; } Saída : 0,0,0 Depois de muitos anos desse código funcionando alegremente em um ambiente de produção crítico, atendendo a uma […]

Por que um replaceia novos operadores padrão e excluir?

Por que um replaceia o operador padrão como new e delete com um new personalizado e delete operadores? Esta é a continuação do Overloading new e delete no imensamente iluminado C ++ FAQ: Sobrecarga do operador. Uma input de acompanhamento para esta FAQ é: Como devo escrever o padrão ISO C ++ em conformidade com […]

Semântica de bandeiras em basic_ios

Eu me vejo repetidamente perplexo com os rdstate() – good() , bad() , eof() , fail() – e como eles são expressos em basic_ios::operator! , operator bool e operator void* . Alguém poderia me tirar da minha miséria e explicar isso para que eu nunca tenha que pensar duas vezes de novo?

Converter string para int com bool / fail em C ++

Eu tenho um std::string que poderia ser uma string ou poderia ser um valor (como 0 ). Qual é a melhor ou mais fácil maneira de converter o std::string para int com a capacidade de falhar? Eu quero uma versão em C ++ do Int32.TryParse do c #.

Sobrecarregando operadores de access a membros ->,. * (C ++)

Eu entendo a maioria das sobrecargas de operadores, com exceção dos operadores de access a membros -> .* , ->* etc. Em particular, o que é passado para essas funções do operador e o que deve ser retornado? Como o operador funciona (por exemplo, operator->(…) ) sabe a qual membro está sendo referenciado? Pode saber? […]

Por que vejo valores estranhos ao imprimir variables ​​não inicializadas?

No código a seguir, a variável não possui valor inicial e imprimiu essa variável. int var; cout << var << endl; produção: 2514932 double var; cout << var << endl; produção: 1.23769e-307 Eu não entendo esses números de saída. Alguém pode explicar isso para mim?

Quais são os novos resources do C ++ 17?

O C ++ 17 agora está completo, portanto, é improvável que ocorram grandes mudanças. Foram apresentadas centenas de propostas para o C ++ 17. Quais desses resources foram adicionados ao C ++ em C ++ 17? Ao usar um compilador C ++ que suporte “C ++ 1z”, quais desses resources estarão disponíveis quando o compilador […]

Pilha apropriada e uso de heap em C ++?

Eu tenho programado por um tempo, mas tem sido principalmente Java e C #. Eu nunca tive que gerenciar a memory sozinho. Eu comecei recentemente a programar em C ++ e estou um pouco confuso sobre quando devo armazenar as coisas na pilha e quando armazená-las na pilha. Meu entendimento é que as variables ​​que […]

Como devo escrever o ISO C ++ Standard em conformidade com novos e personalizados operadores de exclusão?

Como devo escrever o padrão ISO C ++ em conformidade com new e personalizados operadores de delete ? Isso é uma continuação do Overloading new e do delete no C ++ FAQ, sobrecarga do operador e seu acompanhamento. Por que um deve replace os novos operadores padrão e delete? Seção 1: Escrevendo um new operador […]

Polimorfismo em c ++

ATÉ ONDE SEI: C ++ fornece três tipos diferentes de polymorphism. Funções virtuais Sobrecarga de nome de function Sobrecarga do operador Além dos três tipos de polymorphism acima, existem outros tipos de polymorphism: tempo de execução tempo de compilation polymorphism ad-hoc polymorphism paramétrico Eu sei que o polymorphism de tempo de execução pode ser alcançado […]