Resultados da pesquisa a pedido "c++17"
Return Valor opcional com?: Operator
Muitas vezes, preciso usar o tipo opcional para funções: std::optional<int32_t> get(const std::string& field) { auto it = map.find(field); if (it != map.end()) return it->second; return {}; }Existe uma maneira de retornar o valor opcional em uma ...
O C ++ 17 proíbe a remoção de cópias em um caso em que o C ++ 14 o permitiu?
Considere o seguinte: struct X { X() {} X(X&&) { puts("move"); } }; X x = X();No C ++ 14, a movimentação pode ser elidida, apesar do construtor da movimentação ter efeitos colaterais, graças a [class.copy] / 31, Essa elisão de operações de ...
Usando std :: washder para obter um ponteiro para um membro do objeto ativo de um ponteiro para um objeto inativo?
Esta pergunta segue esta1 [https://stackoverflow.com/questions/48188737/is-pointer-arithmetic-on-inactive-member-of-a-union-ub] Vamos considerar este código de exemplo: struct sso { union{ struct { char* ptr; char size_r[8]; } large_str; ...
A metaprogramação com estado está mal formada (ainda)?
Uma das minhas invenções mais amadas / más que tive a sorte de encontrar é a contador constexpr [http://b.atch.se/posts/constexpr-counter/], também conhecido como metaprogramação com estado. Como mencionado no post, parece legal no C ++ 14, e eu ...
Quais são os casos de uso para ligações estruturadas?
O padrão C ++ 17 apresenta um novoligações estruturadas [http://en.cppreference.com/w/cpp/language/structured_binding]recurso, que foi inicialmenteproposto [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf]em 2015 e cuja ...
Por que não há suporte para concatenar std :: string e std :: string_view?
Desde C ++ 1z, temosstd::string_view [http://en.cppreference.com/w/cpp/string/basic_string_view], uma visualização leve em uma sequência contígua de caracteres que evita a cópia desnecessária de dados. Em vez de ter umconst std::string& ...
se constexpr (condição) como condicional em tempo de compilação
Eu quero usar um booleano constexpr (useF no exemplo abaixo) para ativar um recurso no código a seguir. Aqui, chamandoA::f(). Além disso, quero ser o alias-template (a) ser estarvoid no caso de desligar o recurso. Tentei usar uma instrução ...
Por que sizeof (std :: variant) tem o mesmo tamanho de uma estrutura com os mesmos membros?
O modelo de classestd::variant representa uma união de tipo seguro. Uma instância destd::variant a qualquer momento, mantém um valor de um de seus tipos alternativos ou não possui valor. sizeof(std::variant<float, int32_t, double>) == 16Mas se é ...
Quais são os tipos de identificadores introduzidos por ligações estruturadas no C ++ 17?
Que eu saiba, identificadores introduzidos por ligações estruturadas no C ++ 17 são de fato referências a alguma variável "oculta". De tal modo que auto [ a, b ] = std::make_tuple(1, 2);émais ou menos equivalente a auto e = std::make_tuple(1, ...
Como P0522R0 está quebrando o código?
Hoje eu estava lendo a página de suporte do C ++ 17 do clang. Eu notei algo estranho. A característicaCorrespondência de parâmetros de modelo a argumentos compatíveis ...