É possível que o código C ++ esteja em conformidade com o padrão C ++ 03 e o padrão C ++ 11 , mas faça coisas diferentes dependendo de qual padrão ele está sendo
É possível que o código C ++ esteja em conformidade com o padrão C ++ 03 e o padrão C ++ 11 , mas faça coisas diferentes dependendo de qual padrão ele está sendo
Se eu declarar uma classe base (ou classe de interface) e especificar um valor padrão para um ou mais de seus parâmetros, as classes derivadas precisam especificar os mesmos padrões e, se não, quais padrões se manifestarão nas classes derivadas? Adendo: Também estou interessado em saber como isso...
De acordo com o C ++ '03 Standard 2.3 / 1: Antes de qualquer outro processamento, cada ocorrência de uma das seguintes seqüências de três caracteres ("sequências trigrafônicas") é substituída pelo caractere único indicado na Tabela 1.
É possível escrever uma função que, quando compilada com um compilador C retornará 0, e quando compilada com um compilador C ++, retornará 1 (a solução trivial com #ifdef __cplusplusnão é interessante). Por exemplo: int isCPP() { return sizeof(char) == sizeof 'c'; } Claro, o acima só...
Estou muito confuso sobre a inicialização de valor e padrão e zero. e especialmente quando eles são iniciados para os diferentes padrões C ++ 03 e C ++ 11 (e C ++ 14 ). Estou citando e tentando estender uma resposta realmente boa Valor- / Padrão- / Zero- Init C ++ 98 e C ++ 03 aqui para torná-lo...
Observe que esta questão foi postada originalmente em 2009, antes que C ++ 11 fosse ratificado e antes que o significado da autopalavra - chave fosse drasticamente alterado. As respostas fornecidas referem-se apenas ao significado de C ++ 03 auto- sendo uma classe de armazenamento especificada...