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

95
Como verificar o tipo de parâmetro de modelo?

Suponha que eu tenha uma função de modelo e duas classes class animal { } class person { } template<class T> void foo() { if (T is animal) { kill(); } } Como faço para verificar se é animal? Não quero ter algo que verifique durante o tempo de execução. obrigado

95
<cstdint> vs <stdint.h>

Qual é a diferença entre stdint.he cstdint? Ambos estão disponíveis em MSVC (Visual Studio 2010) e gcc-4.5.1. Além disso, ambos definem os tipos intX_t/ uintX_t(onde Xé o tamanho em bytes do tipo). Se a lógica em ambos os cabeçalhos for a mesma (tipos portáteis), que decisões devo tomar para...

95
O que é um “pisar na memória”?

Acabei de encontrar uma postagem de blog que menciona “memória marcante”: um programa C ++ que é facilmente capaz de controlar a memória (algo do qual você provavelmente nunca ouviu falar se nasceu em um mundo de código gerenciado). E na verdade nunca ouvi falar disso! Então, o que é isso, um...

95
O que significa esvaziar o buffer?

Estou aprendendo C ++ e encontrei algo que não consigo entender: Os buffers de saída podem ser liberados explicitamente para forçar a gravação do buffer. Por padrão, a leitura é cinliberada cout; couttambém é liberado quando o programa termina normalmente. Portanto, esvaziando o buffer (por...

95
Qual cabeçalho devo incluir para `size_t`?

De acordo com cppreference.com size_t é definido em vários cabeçalhos, nomeadamente <cstddef> <cstdio> <cstring> <ctime> E, desde C ++ 11, também em <cstdlib> <cwchar> Em primeiro lugar, me pergunto por que isso acontece. Isso não está em contradição com...

95
Constexpr vs macros

Onde devo preferir usar macros e onde devo preferir constexpr ? Eles não são basicamente os mesmos? #define MAX_HEIGHT 720 vs constexpr unsigned int max_height = 720;

95
Substituir '::' por '. criar ambiguidades em C ++?

No C ++, o operador ::é usado para acessar classes, funções e variáveis ​​em um espaço para nome ou classe. Se a especificação de linguagem usada em .vez de ::nesses casos também gostar ao acessar variáveis ​​/ métodos de instância de um objeto, isso causaria possíveis ambiguidades que não estão...

94
Obtenha o endereço IP da máquina

Esta pergunta é quase igual à anterior Obtenha o endereço IP do computador local - pergunta. No entanto, preciso encontrar o (s) endereço (s) IP de uma máquina Linux . Então: Como faço para - programaticamente em C ++ - detectar os endereços IP do servidor Linux em que meu aplicativo está sendo...

94
Como calcular a diferença de tempo em C ++

Qual é a melhor maneira de calcular a diferença de tempo em C ++? Estou cronometrando a velocidade de execução de um programa, então estou interessado em milissegundos. Melhor ainda, segundos.milissegundos .. A resposta aceita funciona, mas precisa incluir ctime ou time.h conforme observado nos...

94
std :: back_inserter para um std :: set?

Eu acho que esta é uma pergunta simples. Eu preciso fazer algo assim: std::set<int> s1, s2; s1 = getAnExcitingSet(); std::transform(s1.begin(), s1.end(), std::back_inserter(s2), ExcitingUnaryFunctor()); Claro, std::back_inserternão funciona, pois não há push_back. std::insertertambém...