preguntar acerca de c++17

2
réponses

Avec C++17 est-il possible de détecter si une structure / classe a une base?

J'ai besoin d'un trait de type qui sera true si le type donné dérive de n'importe quoi, et false sinon. Par exemple: template<class T> struct is_inherit //... logic of inheritance detection ; template<class T> void AppLogic(){ …
demandé sur 1970-01-01 00:33:37
5
réponses

Comment puis-je émuler la déstructuration en C++?

Dans JavaScript ES6, il existe une fonctionnalité de langage appelée déstructuration . Il existe dans de nombreuses autres langues. En JavaScript ES6, cela ressemble à ceci: var animal = { species: 'dog', weight: 23, sound: 'woof' } / …
demandé sur 1970-01-01 00:33:35
3
réponses

Pourquoi std:: shared ptr:: unique () est-il obsolète?

Quel est le problème technique avec std::shared_ptr::unique() qui est la raison de sa dépréciation en C++17? Selon cppreference.com, std::shared_ptr::unique() est déprécié en C++17 Cette fonction est obsolète à partir de C++17 Car use_count n'e …
demandé sur 1970-01-01 00:33:36
1
réponses

g ++ 8.1 ambiguïté de la déduction du modèle avec l’indicateur std égal à ‘c++17’

J'ai du code qui est interprété différemment par G++ avec les drapeaux standard c++14 et c++17: #include <iostream> #include <vector> template<class T, class A> void func(const std::vector<T, A>&v) { std::cout <& …
demandé sur 1970-01-01 00:33:38
3
réponses

Quels sont les guides de déduction std:: vector en C++17?

J'ai lu sur les guides de déduction pour std::vector en utilisant cppreference . Exemple: #include <vector> int main() { std::vector<int> v = {1, 2, 3, 4}; std::vector x{v.begin(), v.end()}; // uses explicit deduction guide } …
demandé sur 1970-01-01 00:33:37
1
réponses

le comportement de std::async(std::lancement::différé) + std::future::alors

L'idée derrière un futur différé (réalisé uniquement en appelant std::async avec std::launch::deferred flag) est que le rappel n'est appelé que lorsque quelqu'un essaie d'attendre ou de tirer la valeur futuriste ou l'exception du futur. d'ici là, le …
demandé sur 1970-01-01 00:33:38
2
réponses

Est-ce que C++17 peut déduire les paramètres `auto` non-type `template` pattern-match des templates avec des paramètres explicites non-type?

considérez cet exemple (également disponible sur wandbox): template <template <auto> class> void test() { } template <int> struct X { }; Essaie d'instancier test<X>()clang++ 4,0(le tronc) résulte en une erreur de compila …
demandé sur 1970-01-01 00:33:36
1
réponses

Présentation des données internes du vecteur statique — ‘union’ vs ‘ std:: aligned storage t` — énorme différence de performance

suppose que vous devez mettre en œuvre une classe static_vector<T, N> , qui est un capacité fixe conteneur qui vit entièrement sur la pile et n'allaite jamais, et expose une interface std::vector comme. (Boost fournit boost::static_v …
demandé sur 1970-01-01 00:33:38
5
réponses

Qu’est-ce que les agrégats et les gousses et comment/pourquoi sont-ils Spéciaux?

Ce FAQ est sur les Agrégats et les Gousses et couvre le matériel suivant: Qu'est-ce que agrégats ? Qu'est-ce que POD s (Plain Old Data)? comment sont-ils reliés? comment et pourquoi sont- …
demandé sur 1970-01-01 00:33:30
2
réponses

Modification des règles pour les constructeurs protégés en C++17?

j'ai ce cas type: struct A{ protected: A(){} }; struct B: A{}; struct C: A{ C(){} }; struct D: A{ D() = default; }; int main(){ (void)B{}; (void)C{}; (void)D{}; } gcc et clang le compilent en mode C++11 et C++14. Les deux …
demandé sur 1970-01-01 00:33:37