Resultados da pesquisa a pedido "language-lawyer"

1 a resposta

Construtor de movimentação padrão usando um parâmetro const

Ao definir uma classe, o seguinte é válido? T(const T&&) = default;Eu estava lendo sobre construtores de movimentoaqui [http://en.cppreference.com/w/cpp/language/move_constructor]e explica como o padrão ainda pode ser declarado ...

4 a resposta

A sobrecarga em todos os tipos de números inteiros fundamentais é suficiente para capturar todos os números inteiros?

Digamos que eu tenha sobrecargas de função para todos os tipos de números inteiros padrão: void foo( char ); void foo( signed char ); void foo( short ); void foo( int ); void foo( long ); void foo( long long ); // .... all unsigned variants as ...

1 a resposta

Especialização de modelo de classe: ordenação parcial e síntese de funções

As regras para escolher qual especialização de modelo de classe é preferida envolvem reescrever as especializações em modelos de função e determinar qual modelo de função é mais especializado por meio das regras de pedido para modelos de função ...

4 a resposta

O que exatamente é uma unidade de tradução em C

A definição comumente usada deunidade de tradução é o que vem após o pré-processamento (inclusões nos arquivos de cabeçalho, macros etc., junto com o arquivo de origem). Essa definição é razoavelmente clara e o padrão C, 5.1.1.1, C11, diz: Um ...

3 a resposta

Por que essa chamada para a função de membro é ambígua?

Considere esta classe: class Base{ public: void func(double a) = delete; void func(int a) const {} }; int main(){ Base base; base.func(1); return 0; }Quando compilado usando o clang ++, produz o seguinte erro: clang++ --std=c++11 test.cpp ...

2 a resposta

Captura e parâmetro Lambda com o mesmo nome - quem sombreia o outro? (clang vs gcc)

auto foo = "You're using g++!"; auto compiler_detector = [foo](auto foo) { std::puts(foo); }; compiler_detector("You're using clang++!");clang ++ 3.6.0e impressão mais recente"Você está usando o clang ++!" e avisar sobre ocapturar foo sendo não ...

3 a resposta

Qual foi a lógica do design para tornar o vácuo não um tipo primitivo?

Ao usar reflexãoType.IsPrimitive com umvoid type retorna false.Vindo de um plano de fundo em C ++, isso foi surpreendente. Olhando para oEspecificação do C # ...

5 a resposta

Funções virtuais puras podem não ter uma definição embutida. Por quê?

Funções virtuais puras são aquelas funções membro que são virtuais e têm oespecificador puro ( = 0; ) Cláusula 10.4, parágrafo 2do C ++ 03 nos diz o que é uma classe abstrata e, como observação lateral, o seguinte: [Nota: uma declaração de ...

1 a resposta

Houve uma proposta para adicionar std :: bin ao padrão c ++?

C ++ 14 adiciona capacidade de usar literais binários digitando0b prefixo para o valor: int v = 0b1111; // 15 in decimalMas não hástd::bin manipulador para fluxos comostd::hex oustd::oct. Então, eu preciso usar, por exemplostd::bitset para fins ...

1 a resposta

std :: alocador incompatível para alguns contêineres STL

É tecnicamente válido usar incompatíveisstd::allocator especialização (certamente, exceto sua especialização emvoid) como um parâmetro de modelo para contêineres STL (não todos, mas enumerados abaixo mais mapa / conjunto não ordenado_ (multi))? O ...