Resultados da pesquisa a pedido "c++-faq"
Restringir argumentos de modelo variados
Podemos restringir argumentos de modelos variados para um determinado tipo? Ou seja, consiga algo assim (claro que não é C ++): struct X {}; auto foo(X... args)Aqui, minha intenção é ter uma função que aceite um número variável deX ...
Função com o mesmo nome, mas com assinatura diferente na classe derivada
Eu tenho uma função com o mesmo nome, mas com assinatura diferente em uma base e classes derivadas. Quando estou tentando usar a função da classe base em outra classe que herda da derivada, recebo um erro. Veja o seguinte código: class A { ...
Qual é a regra dos três?
O quecopiando um objeto significar?O que são ascopiar construtor e aoperador de atribuição de cópia?Quando preciso declará-los eu mesmo?Como posso impedir que meus objetos sejam copiados?
Qual é a declaração apropriada de main?
Qual é a assinatura adequada domain função em C ++? Qual é o tipo de retorno correto e o que significa retornar um valor demain? Quais são os tipos de parâmetros permitidos e quais são seus significados? Este sistema é específico? Essas regras ...
Qual é o padrão de modelo curiosamente recorrente (CRTP)?
Sem se referir a um livro, alguém pode fornecer uma boa explicação paraCRTP com um exemplo de código?
Semântica de sinalizadores em basic_ios
Eu me vejo repetidamente perplexo com ordstate() bandeiras -good(), bad(), eof(), fail() - e como eles são expressos embasic_ios::operator!, operator bool eoperator void*. Alguém poderia me tirar da minha miséria e explicar isso para que eu ...
Comportamento indefinido e pontos de sequência
O que são "pontos de sequência"? Qual é a relação entre comportamento indefinido e pontos de sequência? Costumo usar expressões engraçadas e complicadas, comoa[++i] = i;, para me fazer sentir melhor. Por que devo parar de usá-los? Se você leu ...
Por que vejo valores estranhos quando imprimo variáveis não inicializadas?
No código a seguir, a variável não tem valor inicial e imprimiu essa variável. int var; cout << var << endl;saída: 2514932 double var; cout << var << endl;saída: 1.23769e-307 Eu não entendo esses números de saída. Alguém pode me explicar isso?
O método std :: list :: remove destrói a chamada de método de cada elemento removido?
std::list<Node *> lst; //.... Node * node = /* get from somewhere pointer on my node */; lst.remove(node);O std :: list :: remove destrói a chamada do método (e libera memória) de cada elemento removido? Se sim, como posso evitá-lo?