Resultados da pesquisa a pedido "c++17"

2 a resposta

reinterpret_cast criando um objeto construtível trivialmente padrão

cppreference [http://en.cppreference.com/mwiki/index.php?title=cpp/language/default_constructor&oldid=86081#Trivial_default_constructor] † afirma que: Objetos com construtores padrão triviais podem ser criados usandoreinterpret_cast em qualquer ...

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

2 a resposta

Pacote de parâmetros de expansão para lambda com expressão de dobra - gcc vs clang

Considerando o seguinte snippet de código: template <typename TF> void post(TF){ } template <typename... TFs> struct funcs : TFs... { funcs(TFs... fs) : TFs{fs}... { } void call() { (post([&]{ static_cast<TFs&>(*this)(); }), ...); } };clang ++ ...

2 a resposta

Usando const std :: unique_ptr para o idioma pimpl

NoPalestra de Herb Sutter no CppCon16 [https://youtu.be/JfmTagWcqoE]ele sugeriu escrever o idioma pimpl comconst std::unique_ptr (aproximadamente 10 minutos). Como isso deve funcionar com os construtores / atribuições de movimentação? Existe ...

2 a resposta

Quão semelhantes são o sistema de arquivos Boost e as bibliotecas padrão do sistema de arquivos C ++?

Preciso de uma biblioteca de sistema de arquivos para usar com um compilador compatível com C ++ 11 ou com um compilador C ++ 14 - portanto, não pode ser do C ++ 17. Agora, eu sei que a biblioteca do sistema de arquivos que entra no C ++ 17 ...

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

Por que o std :: iterator está obsoleto?

Classe de modelostd::iterator [http://en.cppreference.com/w/cpp/iterator/iterator]está definido para ser descontinuado no C ++ 17. Por quê então? Tem sido uma maneira útil de garantir std::iterator_traits ...

3 a resposta

Substituição do cabeçalho <codecvt> obsoleto

Um pouco de primeiro plano: minha tarefa exigia a conversão de arquivo XML UTF-8 em UTF-16 (com cabeçalho adequado, é claro). E então eu procurei maneiras comuns de converter UTF-8 em UTF-16 e descobri que alguém deveria usar ...

0 a resposta

Parâmetro com tipo não deduzido após pacote de parâmetros

Existe um comportamento diferente emclang ++ eg ++ para o próximo programa: #include <type_traits> #include <utility> template< std::size_t index, typename type > struct ref { type & value; }; template< std::size_t index, typename type > type && ...

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