Resultados da pesquisa a pedido "c++14"

1 a resposta

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) ] { ...

1 a resposta

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 { ...

1 a resposta

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 ++ ...

1 a resposta

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 ...

2 a resposta

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 ...

1 a resposta

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 ...

1 a resposta

`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á ...

5 a resposta

Teste se um lambda é apátrida?

3 a resposta

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));

1 a resposta

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 ...