Resultados da pesquisa a pedido "language-lawyer"
O volátil evita leituras ou gravações introduzidas?
Em C #,volatile palavra-chave @ garante que as leituras e gravações adquiram e liberem semântica, respectivamente. No entanto, ele diz algo sobre leituras ou gravações introduzidas? Por exemplo volatile Thing something; volatile int aNumber; ...
inda precisamos escrever colchetes angulares vazios ao usar objetos de função std transparente
Com dedução de argumento de modelo de classe, podemos escrever: std::less Fn;No entanto, o G ++ 8.2 rejeita este código: #include <algorithm> #include <vector> #include <functional> int main() { std::vector v= { 1, 3, 2, 7, 5, 4 ...
Por que modelo com apenas um pacote variadico vazio válido mal formado?
Qual é a lógica de temp.res # 8.3 [https://timsong-cpp.github.io/cppwp/temp.res#8.3] (8) A validade de um modelo pode ser verificada antes de qualquer instanciação. [Observação: saber quais nomes são nomes de tipos permite que a sintaxe de ...
Isso é um inseto? O construtor Constexpr se torna silenciosamente não constexpr
Veja este código: struct NonConstexpr { NonConstexpr() { } }; template <typename T> struct Bar { NonConstexpr nonConstexpr; constexpr Bar() { } }; struct Foo { Bar<void> bar; constexpr Foo() { } };Foo tem um membro,Foo::bar::nonConstexpr, que ...
s variáveis `const 'e` constexpr` nos cabeçalhos devem estar `inline` para evitar violações de ODR?
Considere o seguinte cabeçalho e assuma que ele seja usado em várias TUs: static int x = 0; struct A { A() { ++x; printf("%d\n", x); } };Comoessa questã [https://stackoverflow.com/questions/4276794/static-keyword-in-h-file-and-internal-linkage] ...
unção @constexpr com argumento de referência não utilizado - gcc vs clang
Considere o seguinte código: template <int N, typename T> void f(T) { } template <typename T> constexpr int k(T&) { return 0; } int main() { constexpr auto i = 1; f<k(i)>([&i] { f<k(i)>(0); }); }clang++ (tronco compila.g++ (tronco falha com o ...
Qual é o comportamento de uma variável não inicializada usada como seu próprio inicializado
Notei agora que o código a seguir pode ser compilado com clang / gcc / clang ++ / g ++, usandoc99, c11, c++11 padrões int main(void) { int i = i; }e mesmo com-Wall -Wextra, nenhum dos compiladores relata aviso Modificando o código paraint i = ...
equisitos para tipos de ponteiros de alocador de biblioteca padr
Estou tentando escrever uma classe de matriz esparsa quadtree. Em suma, umquadtree_matrix<T> é a matriz zero ou um quádruplo(ne, nw, se, sw) doquadtree_matrix<T>. Eu gostaria, eventualmente, de testar diferentes esquemas de alocação, já ...
Que membro do sindicato se torna ativo após a colocação de novos
Em relação a este código: #include <string> int main() { union u { u() { i = 0; } ~u() {} int i; std::string s1; std::string s2; } u; new (&u) std::string{}; } [intro.object] / 2 [https://timsong-cpp.github.io/cppwp/n4659/intro.object#2] diz ...
ualificações CV de pré-valores (revisitado
Este é um acompanhamento do meuprevious question [https://stackoverflow.com/questions/42989034/cv-qualifications-of-prvalues-in-c14] , onde o consenso aparente foi que a mudança no tratamento das qualificações de CV de pré-valores era apenas uma ...