Resultados da pesquisa a pedido "language-lawyer"
É possível alias um enumerador de classe enum?
Dada uma classe enum C ++ 11, aninhada em vários namespaces de nomes longos e feios: namespace long_and_ugly { enum class colour { red, green, blue }; }Podem ser feitos aliases dos valores de enumeração? Com o clang ++ 3.5, é possível fazer ...
Uma atribuição de vetor invalida a `reserva`?
Suponha que eu escreva std::vector<T> littleVector(1); std::vector<T> bigVector; bigVector.reserve(100); bigVector = littleVector;O padrão diz quebigVector ainda terá 100 elementos reservados? Ou eu experimentaria a realocação de memória ...
O padrão C ++ exige que as funções de ligação C sejam `noexcept`?
Não consigo encontrar nada no padrão que force as funções declaradas comextern "C" ser estarnoexcept, implícita ou explicitamente. No entanto, deve ficar claro que as convenções de chamada C não podem suportar exceções ... ou é? O padrão ...
A especialização explícita no escopo que não é de namespace não é compilada no GCC
O código a seguir é compilado no Clang, mas não no GCC: template<typename T> struct Widget { template<typename U> void foo(U) { } template<> void foo(int*) { } };De acordo com o padrão C ++ ([temp.expl.spec], parágrafo 2): Uma especialização ...
Em um construtor de classe abstrata, por que preciso chamar um construtor de uma base virtual que nunca será chamada?
Enfrento a bem conhecida situação "temida" do diamante: A / \ B1 B2 \ / C | DA classeA tem, diz o construtorA::A(int i). Também quero proibir uma instanciação padrão de umA então eu declaro o construtor padrão deA Comoprivate. As classesB1 eB2 ...
Acesso ao construtor protegido da classe base
Uma classe derivada pode chamar um construtor de classe base protegido em seuctor-initializer, mas apenas para seu próprio subobjeto de classe base e não em outro lugar: class Base { protected: Base() {} }; class Derived : Base { Base b; ...
Objeto de enumeração definido como um valor diferente de qualquer uma de suas respectivas constantes de enumeração
Qual é o valor de um objeto de enumeração se estiver definido como um valor diferente de qualquer uma de suas respectivas constantes de enumeração? Considere o seguinte código: enum foobar{ FOO = 1, BAR = 5 }; enum foobar baz = 5; enum foobar ...
Qual é a definição de "operação aritmética" em C99?
Em C99, o termooperação aritmética aparece 16 vezes, mas não vejo uma definição para ele. O termooperador aritmético aparece apenas duas vezes no texto (novamente sem definição), mas aparece no Índice: operadores aritméticos aditivo, 6.5.6, ...
Onde está a definição de `qualificadores de cv de nível superior 'no Padrão C ++ 11?
Noo rascunho da norma C ++ 11: N3337 [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf]Encontrei várias referências atop-level cv-qualifiers, mas sem definição.
Quando a chamada de uma função de membro em uma instância nula resulta em um comportamento indefinido?
Considere o seguinte código: #include <iostream> struct foo { // (a): void bar() { std::cout << "gman was here" << std::endl; } // (b): void baz() { x = 5; } int x; }; int main() { foo* f = 0; f->bar(); // (a) f->baz(); // (b) }Nós esperamos(b) ...