Articles of sobrecarga de

É main () sobrecarregado em C ++?

2 versões válidas do main() existem em C++ : int main() // version 1 int main(int argc, char **argv) // version 2 Mas ambas as sobrecargas não podem coexistir ao mesmo tempo. Por que não? (Caso de uso potencial: ao executar o programa a partir do terminal, se nenhum argumento for passado, a primeira versão […]

Herança e sobrecarga de método

Por que o compilador C ++ fornece esse erro? Por que eu posso acessar lol () de B, mas não consigo acessar rofl () [sem parâmetros]. Onde está a pegadinha? class A { public: void lol(void) {} void rofl(void) { return rofl(0);} virtual void rofl(int x) {} }; class B : public A { public: […]

Sobrecarga uma function C ++ de acordo com o valor de retorno

Nós todos sabemos que você pode sobrecarregar uma function de acordo com os parâmetros: int mul(int i, int j) { return i*j; } std::string mul(char c, int n) { return std::string(n, c); } Você pode sobrecarregar uma function de acordo com o valor de retorno? Defina uma function que retorna coisas diferentes de acordo com […]

Medições de ciclo de clock negativo com back-to-back rdtsc?

Eu estou escrevendo um código C para medir o número de ciclos de clock necessários para adquirir um semáforo. Estou usando o rdtsc e, antes de fazer a medição no semáforo, chamo o rdtsc duas vezes consecutivas para medir a sobrecarga. Eu repito isso muitas vezes, em um loop for, e então eu uso o […]

De que maneiras as exceções do C ++ diminuem o código quando não há exceções?

Eu li que há alguma sobrecarga para usar exceções do C ++ para tratamento de exceções, em oposição a, digamos, a verificação de valores de retorno. Estou falando apenas de sobrecarga incorrida quando nenhuma exceção é lançada. Eu também estou supondo que você precisaria implementar o código que realmente verifica o valor de retorno e […]

Usando float dá erro “call to overloaded function is ambiguous”

Eu estou sobrecarregando a function add() , mas quando eu usei o tipo de dados float está mostrando um erro. No entanto, quando eu mudo para o double , então está funcionando bem. Por que o float está causando o erro? Código é: #include using namespace std; class students{ private: int i; float f; public: […]

Qualquer motivo para sobrecarregar global novo e excluir?

A menos que você esteja programando partes de um sistema operacional ou de um sistema embarcado, há alguma razão para isso? Posso imaginar que, para algumas classs específicas que são criadas e destruídas, sobrecarregar frequentemente as funções de gerenciamento de memory ou introduzir um pool de objects pode diminuir a sobrecarga, mas fazer essas coisas […]

Função Estática de Sobrecarga C ++ com Função Não Estática

Eu gostaria de imprimir duas coisas diferentes, dependendo se uma function é chamada estaticamente com Foo::print() ou de uma instância de Foo foo; foo.print(); Foo foo; foo.print(); EDIT: Aqui está uma definição de class que definitivamente não funciona, como já foi respondido por algumas pessoas. class Foo { string bla; Foo() { bla = “nonstatic”; […]

O posicionamento novo para matrizes pode ser usado de maneira portátil?

É possível usar o posicionamento novo em código portátil ao usá-lo para matrizes? Parece que o ponteiro que você recebe de novo [] não é sempre o mesmo que o endereço que você passa (5.3.4, nota 12 no padrão parece confirmar que isso está correto), mas eu não vejo como você pode alocar um buffer […]

Resolução de sobrecarga de C ++

Dado o exemplo a seguir, por que preciso usar explicitamente a instrução b->A::DoSomething() vez de apenas b->DoSomething() ? A resolução de sobrecarga do compilador não deveria descobrir qual método eu estou falando? Estou usando o Microsoft VS 2005. (Nota: usar virtual não ajuda nesse caso.) class A { public: int DoSomething() {return 0;}; }; class […]