Resultados da pesquisa a pedido "c++17"

1 a resposta

O que são guias de dedução de modelos e quando devemos usá-los?

O padrão C ++ 17 apresenta "guias de dedução de modelos". Acho que eles têm algo a ver com a nova dedução de argumento de modelo para construtores introduzidos nesta versão do padrão, mas ainda não vi uma explicação simples, no estilo FAQ, do que ...

1 a resposta

"Constexpr if" vs "if" com otimizações - por que o "constexpr" é necessário?

O C ++ 1z apresentará "constexpr if" - e se isso tiver uma ramificação removida, com base na condição. Parece razoável e útil. No entanto, não é possível ficar sem a palavra-chave constexpr? Eu acho que durante a compilação, o compilador deve ...

1 a resposta

As referências const em ligações estruturadas prolongam a vida útil do objeto decomposto?

Escreverconst auto& [a, b] = f(); garantia prolongando a vida útil do objeto retornado def()ou pelo menos os objetosa eb são obrigados a? Lendo atravésa proposta [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0217r3.html] Não vejo nada ...

1 a resposta

Por que as declarações de decomposição não podem ser constexpr?

Considere o seguinte trecho de código para testar as próximas declarações de decomposição de recursos do C ++ 17 (anteriormente conhecidas como ligações estruturadas) #include <cassert> #include <utility> constexpr auto divmod(int n, int d) ...

1 a resposta

É possível garantir que uma função constexpr seja chamada no máximo uma vez no tempo de compilação?

Como o título pergunta: É possível garantir que uma função constexpr seja chamada no máximo uma vez no momento da compilação? Isso claramente não será possível se a função não for constepxr; Eu poderia escrever uma função que é chamada sempre ...

1 a resposta

Onde usar std :: variant over union?

Por favor, explique qual é a diferença entreunion estd::variant e porquestd::variant foi introduzido no padrão? Em que situações devemos usarstd::variant sobre a velha escolaunion?

1 a resposta

Por que <> é necessário ao especificar uma classe de modelo que possui padrões para todos os seus parâmetros de modelo?

Existe uma boa razão para<> é necessário ao especificar uma classe de modelo que possui padrões para todos os seus parâmetros de modelo? por exemplo. #include <iostream> template<typename T = int> class C { public: T obj = 0; }; int main() { C ...

1 a resposta

Detecção contígua do iterador

C ++ 17 introduziu o conceito de ContiguousIterator http://en.cppreference.com/w/cpp/iterator [http://en.cppreference.com/w/cpp/iterator]. No entanto, parece que não há planos de ter umcontiguous_iterator_tag (da mesma forma que ...

1 a resposta

Que tipo fará com que “std :: has_unique_object_representations” retorne false?

Atcppref [http://en.cppreference.com/w/cpp/types/has_unique_object_representations]Eu vejo um estranhoverificador de características do tipo: std::has_unique_object_representations Pela descrição, não consigo imaginar nenhum tipoT ...

1 a resposta

Como disponibilizar a `avaliação de curto-circuito` em` expressões de dobra`?

#include <type_traits> #define FORWARD(arg)\ std::forward<decltype(arg)>(arg) template<typename... Args> constexpr bool AndL(Args&&... args) { return (... && FORWARD(args)); } template<typename... Args> constexpr bool AndR(Args&&... args) { ...