Resultados da pesquisa a pedido "c++14"
Por que não consigo mover o std :: unique_ptr dentro do lambda no C ++ 14?
Quero passar um ponteiro bruto dentro do lambda, mas não quero que ele vaze, se o lambda não for chamado. Se parece com isso: void Clean(std::unique_ptr<int>&& list); void f(int* list) { thread_pool.Push([list = std::unique_ptr<int>(list) ] { ...
Sobrecarga de modelo C ++ com enable_if: comportamento diferente com g ++ e clang
Durante a resolução de uma sobrecarga de uma função de membro modelada de uma classe base, observei um comportamento diferente entre g ++ (5.2.1-23) e clang (3.8.0), com-std=c++14. #include <iostream> #include <type_traits> struct Base { ...
Erro de compilação constexpr usando std :: acos com clang ++ não g ++
Quero experimentar a migração de um projeto do gcc para o clang ++. Eu admito ignorância da minha parte, não sei por que o seguinte código template <typename T> constexpr T pi{std::acos(T(-1.0))};compila silenciosamente com g ++, mas clang ++ ...
Inicializando um membro de dados constexpr estático da classe base usando um membro de dados constexpr estático da classe derivada
Considere o seguinte código: template<typename T> struct S { static constexpr int bar = T::foo; }; struct U: S<U> { static constexpr int foo = 42; }; int main() { }GCC v6.1 [https://godbolt.org/g/xDmBPW]compila,clang 3.8 ...
Inicializador de expressão constante para membro de classe estática do tipo double
No C ++ 11 e C ++ 14, por que precisoconstexpr no seguinte snippet: class Foo { static constexpr double X = 0.75; };enquanto este produz um erro do compilador: class Foo { static const double X = 0.75; };e (mais surpreendentemente) isso compila ...
Dado int ** p1 e const int ** p2, p1 == p2 está bem formado?
Dada a seguinte função: void g(int **p1, const int**p2) { if (p1 == p2) { } }clang(de volta à versão 3.0) produz esse aviso (veja ao vivo [http://melpon.org/wandbox/permlink/lCtOd2FagxDI9n2T]): warning: comparison of distinct pointer types ...
`std :: pair`` second` tem tipo incompleto com a árvore `unordered_map`
Eu estava revisando um código antigo e vi o código usando ponteiros para implementar uma árvore deVariant objetos. É uma árvore porque cadaVariant pode conter umunordered_map doVariant*. Eu olhei para o código e me perguntei por que não está ...
Diferenças entre std :: make_unique e std :: unique_ptr com new
Fazstd::make_unique tem benefícios de eficiência comostd::makes_shared? Comparado à construção manualstd::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new int(1));
Quando uma variável odr é usada no C ++ 14?
O rascunho do C ++ 14 (N3936) declara em §3.2 / 3: Uma variável x cujo nome aparece como uma expressão potencialmente avaliada ex é usada como odr, a menos que a aplicação da conversão lvalue em rvalue (4.1) em x produz uma expressão constante ...