Resultados da pesquisa a pedido "c++17"

2 a resposta

mudança std :: make_shared () no C ++ 17

Nocppref [http://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared], o seguinte é válido até C ++ 17: código comof(std::shared_ptr<int>(new int(42)), g()) pode causar vazamento de memória seg é chamado depoisnew int(42) e lança uma ...

2 a resposta

É um comportamento indefinido `reinterpret_cast` a` T * `a` T (*) [N] `?

Considere o seguinte cenário: std::array<int, 8> a; auto p = reinterpret_cast<int(*)[8]>(a.data()); (*p)[0] = 42;É istocomportamento indefinido? Eu acho que é. a.data() retorna umint*, que não é o mesmo queint(*)[8] oregras de alias de ...

2 a resposta

Deduzindo o Primeiro Argumento do Modelo com Outros Parâmetros do Modelo Padrão

Gcc e clang parecem discordar se esse código deve ser compilado ou não: #include <type_traits> template <typename Signature, int N = 0> struct MyDelegate { }; template <typename D> struct signature_traits; template <template <typename> class ...

1 a resposta

Como usar algo como `std :: basic_istream <std :: byte>`

Esta questão tem como objetivo usarstd::byte com entrada / saída padrão. Existem planos para adicionar sobrecargas de função adequadas pararead(_bytes) ewrite(_bytes), para as interfaces debasic_istream<CharT> ebasic_ostream<CharT> em um padrão ...

1 a resposta

get <string> para variantes falha sob clang ++ mas não g ++

O código a seguir: variant<string> x = "abc"; cout << get<string>(x) << "\n";funciona bem no g ++ (versão 7.2). No entanto, quando compilado sob clang ++ (versão 5.0) usando libstdc ++, recebo o seguinte erro no diretórioget ...

4 a resposta

Por que a construção de std :: optional <int> é mais cara que um std :: pair <int, bool>?

Considere estas duas abordagens que podem representar um "opcionalint": using std_optional_int = std::optional<int>; using my_optional_int = std::pair<int, bool>;Dadas essas duas funções ... auto get_std_optional_int() -> std_optional_int { ...

2 a resposta

Dedução de argumento do modelo quando a função retorna um tipo composto do tipo de modelo e outro

É difícil formular o título em palavras, mas aqui está o que estou tentando obter em códigos não compiláveis: template<template <typename> class Container> Container<int> foo() { return Container<int>{1,2,3}; } int main() { auto bar = ...

3 a resposta

Não é possível usar os recursos do c ++ 17 usando o g ++ 7.2 no QtCreator

Atualizei recentemente o gcc e o g ++ para a versão 7.2. Eu gostaria de experimentarstd::experimental::any estd::variant em particular, e estou usando o Qt 5.9.1 no QtCreator. Até agora eu escrevi isso no arquivo do projeto: CONFIG += c++17E eu ...

4 a resposta

por que std :: any_cast não suporta conversão implícita?

Porquestd::any_cast lançar umstd::bad_any_cast exceção quando uma conversão implícita do tipo armazenado real para o tipo solicitado seria possível? Por exemplo: std::any a = 10; // holds an int now auto b = std::any_cast<long>(a); // ...

1 a resposta

Entenda a ligação estruturada no C ++ 17 por analogia

Estou tentando entender a ligação estruturada introduzida no C ++ 17. A explicação sobrecppreference [http://en.cppreference.com/w/cpp/language/structured_binding]não é óbvio para mim, mas parece cv-auto ref-operator [x, y, z] = ...é ...