Resultados da pesquisa a pedido "c++17"

1 a resposta

Quais são as mudanças, se houver, nas regras de initalização da vida útil do novo padrão?

Até onde eu saiba,memcpy em armazenamento não inicializadonão podes [https://stackoverflow.com/q/30114397/149138]ser usado com segurança para criar uma cópia do objeto de origem. No entanto, emesta ...

1 a resposta

Guia de dedução variável não utilizado pelo g ++, utilizado pelo clang ++ - quem está correto?

Considere o seguinte código: template <typename... Types> struct list { template <typename... Args> list(Args...) { static_assert(sizeof...(Types) > 0); } }; template <typename... Args> list(Args...) -> list<Args...>; int main() { list l{0, 0.1, ...

3 a resposta

Por que S :: x não é usado por odr?

Considere este exemplo decppreference [http://en.cppreference.com/w/cpp/language/definition]: struct S { static const int x = 1; }; void f() { &S::x; } // discarded-value expression does not odr-use S::xEu concordo que&S::x é umexpressão de ...

2 a resposta

Falha na dedução do argumento do modelo de classe com a classe derivada

#include <utility> template<class T1, class T2> struct mypair : std::pair<T1, T2> { using std::pair<T1, T2>::pair; }; int main() { (void)std::pair(2, 3); // It works (void)mypair(2, 3); // It doesn't work }O acima está bem formado? É possível ...

1 a resposta

Como o std :: visit funciona com o std :: variant?

Eu estou olhandostd:variant/std::visit doc aqui: http://en.cppreference.com/w/cpp/utility/variant/visit [http://en.cppreference.com/w/cpp/utility/variant/visit]e também pesquisou bastante no Google tentando entender a mágica por trásstd::visit ...

1 a resposta

Redefinições de membros de dados estáticos constexpr são permitidas agora? (mas não const inline)?

O seguinte falha ao compilar sob gcc e clang no c ++ 14, mas é bem-sucedido no c ++ 1z: struct Cls { static constexpr int N = 0; }; constexpr int Cls::N; constexpr int Cls::N;O erro do C ++ 14 é previsível:redefinition of ‘constexpr const ...

2 a resposta

Por que essa "variável externa indefinida" não resulta em um erro de vinculador no C ++ 17?

Eu compilei e executei o seguinte programa em um compilador C ++ 17 (Coliru). No programa, eudeclaradoaextern variável, masnão definiuisto. No entanto, o compilador não fornece umaerro de vinculador. #include <iostream> extern int i; // Only ...

1 a resposta

Por que o `std :: byte` é uma classe enum em vez de uma classe?

std::byte é uma abstração que deve fornecer um acesso seguro do tipo (r) às regiões da memória em C ++, começando com o novo padrão 17. No entanto, é declarado dessa maneira de acordo ...

2 a resposta

O que é a versão correta do llvm / clang / xcode?

esteessência [https://gist.github.com/yamaya/2924292]menciona que o xcode 9 publicou com 'Apple LLVM versão 9.0.0 (clang-900.0.38)', mas a última versão do llvm emllvm.org [http://releases.llvm.org/]é o LLVM 5.0.0. Qual é a relação entre eles?

2 a resposta

ligações estruturadas e baseadas em intervalo; suprimir aviso não utilizado no gcc

Eu quero percorrer um mapa usando ligações de estrutura, ignorando a chave: for (auto& [unused, val] : my_map) do_something(val);Eu tentei opções diferentes com o gcc-7.2.0: // The warning is issued for ([[maybe_unused]] auto& [unused, val] : ...