Questions sur c++17

1
réponses

Quelles sont les nouvelles fonctionnalités de C++17?

C++17 est maintenant complet, il est donc peu probable de subir de grands changements. Des centaines de propositions o ... pilateur C++ qui supporte "C++1z", quelles fonctionnalités seront disponibles quand le compilateur passera en C++17?
demandé sur 2016-06-27 21:06:32
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éga ... comment sont-ils reliés? comment et pourquoi sont-ils Spéciaux? Quels changements pour le C++11?
demandé sur 2010-11-14 18:35:50
24
réponses

enum string en C++moderne 11 / C++14 / C++17 et avenir C++20

contrairement à toutes les autres questions similaires, cette question concerne l'utilisation des nouvelles fonctionna ... ion en utilisant des astuces de méta-programmation basées sur les fonctions variadic template class et constexpr ...
demandé sur 2015-03-03 13:05:45
1
réponses

Quel est le but de std::blanchir?

P0137 introduit le modèle de fonction std::launder et apporte de nombreux changements à la norme dans les sect ... e papier est de résoudre? Quels sont les changements de langage que je dois connaître? Et qu'est-ce qu'on launder ?
demandé sur 2016-09-08 07:16:01
6
réponses

Lambda de retourner lui-même: est-ce légal?

assez inutile programme: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it ... éral, mais sur la légalité de cette manière de faire. question connexe: c++ lambda returning itself .
demandé sur 2018-09-05 22:42:50
3
réponses

Est un pointeur avec la bonne adresse et le type toujours un pointeur valide depuis C++17?

(en référence à cette question et réponse .) avant la norme C++17, la phrase suivante était incluse ... modification de la norme de droit ou il y en a d'autres règles que compenser la suppression de la cité de la phrase?
demandé sur 2018-01-02 17:00:35
2
réponses

Comment fonctionnent les variables inline?

lors de la réunion des Standards ISO C++ D'Oulu en 2016, une proposition appelée inline Variables a été votée en ... ent-elles et à quoi servent-elles? Comment les variables inline doivent-elles être déclarées, définies et utilisées?
demandé sur 2016-06-27 00:39:36
1
réponses

Comment fonctionne la garantie de copie elision?

lors de la réunion sur les normes ISO C++ d'Oulu en 2016, une proposition intitulée garantie de copie par des catég ... antie? Couvre-t-il certains cas où la copie était déjà autorisée ou faut-il modifier le code pour garantir la copie?
demandé sur 2016-06-27 00:23:58
2
réponses

Comment la nouvelle gamme basée sur loop en C++17 aide les gammes TS?

Le comité a changé la gamme à base de boucle à partir de: C++11: { auto && __range = r ... gens ont dit que cela rendra la mise en œuvre des gammes TS plus facile. Pouvez-vous me donner quelques exemples?
demandé sur 2016-08-24 10:46:26
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 ... . est-ce que ce changement de comportement fait partie de C++17 ou est-ce un bug dans les deux compilateurs?
demandé sur 2017-12-05 17:33:56
17
réponses

Comment implémenter Coroutines en C++

je doute que cela puisse être fait de façon valable, mais y a-t-il des solutions là-bas? Je pense que cela pourrait ê ... destructeurs et la sécurité d'exception semblent difficiles à résoudre. ça a été fait? Est-il impossible?
demandé sur 2008-09-23 19:31:03
2
réponses

Que sont les modèles de guide de déduction et quand devrions-nous les utiliser?

la norme C++17 introduit les"guides de déduction des modèles". Je crois comprendre qu'ils ont quelque chose à voir avec ... ction type en C++17? pourquoi (et quand) en avons-nous besoin? comment les déclarer?
demandé sur 2016-12-03 22:35:03
2
réponses

Quelles sont les garanties d'ordre d'évaluation introduites par C++17?

Quelles sont les implications de l'voté C++17 ordre d'évaluation des garanties (P0145) , typique de code C++? ... i=1; f(i++, i) et std::cout << f() << f() << f() ; ou f(g(),h(),j());
demandé sur 2016-07-21 13:21:52
2
réponses

std::verrouillage de la garde ou std::étendue de serrure?

C++17 introduit une nouvelle classe de serrure appelée std::scoped_lock . à en juger par la documenta ... ressemble à la classe déjà existante std::lock_guard . Quelle est la différence et quand dois-je utiliser?
demandé sur 2017-03-25 20:29:59
2
réponses

Préparation pour std:: l'itérateur est déprécié

le 21 Mars st le Comité des normes a voté en faveur de l'abandon de std::iterator proposé dans P0174 : ... options je devrais m'attendre, car je conçois des itérateurs personnalisés avec un oeil vers la compatibilité C++17?
demandé sur 2016-05-04 18:15:20
2
réponses

L'extension de C++17 à l'initialisation agrégée a-t-elle Rendu l'initialisation de brace dangereuse?

il semble y avoir un consensus général sur le fait que l'initialisation par attelage devrait être préférée aux autres ... ) { move( c ); // OK, makes sense rectangle r1( c ); // Error, as it should be rectangle r2{ c }; // OK ??? }
demandé sur 2018-05-09 16:20:27
1
réponses

Est-il possible en C++ moderne de passer une chaîne littérale comme paramètre à un modèle C++?

est-il possible dans" modern C++ " (C++17 ou plus) de passer une chaîne littérale comme paramètre à un modèle C++? ... <string_literal Name> ModuleBase<Name>::ModuleBase() { name = Name; } xyz::xyz() : ModuleBase() { }
demandé sur 2018-07-05 18:47:10
4
réponses

Faire une fonction acceptant un optionnel pour accepter un non-optionnel?

j'essaie d'écrire du sucre syntaxique, dans un style monade, sur std::optional. Veuillez considérer: template<class T ... une solution acceptable pour une fonction unaire, mais commence à être un ennui quand vous avez des fonctions binaires comme
demandé sur 2018-08-21 11:56:09
4
réponses

expérimental:: erreur de linker du système de fichiers

j'essaie d'utiliser les nouvelles fonctionnalités c++1z sur la tête de développement de gcc 6.0. Si j'essaie ce petit ex ... h::_M_split_cmpts()' collect2: error: ld returned 1 exit status la version gcc est le snapshot linux-gnu_6-20151011
demandé sur 2015-10-15 16:28:27
1
réponses

Pourquoi S:: x n'est pas odr-used?

considérez cet exemple de cppreference: struct S { static const int x = 1; }; void f() { &S::x; } // discarded-valu ... l'opérande. ... Sinon, l'ensemble est vide. Alors, comment pouvez-vous expliquer qu' S::x n'est pas odr-utilisé?
demandé sur 2017-12-23 14:18:40
1
réponses

Où utiliser std:: variante sur l'union?

Veuillez expliquer quelle est la différence entre union et std::variant et pourquoi std::variant a été introduit dans la norme? Dans quelles situations doit-on utiliser std::variant plus de la vieille école union?
demandé sur 2017-02-07 08:23:34
5
réponses

Pourquoi est-ce que template parameter pack est utilisé dans une fonction type d'argument en tant que sa liste d'arguments template ne peut pas être spécifiée explicitement

j'ai le morceau de code suivant: template <typename, typename> struct AAA{}; template<typename ...Args> void ... lateur, ou est-ce que La norme C++ a-t-elle des règles qui indiquent que le code original est tout simplement mal formé?
demandé sur 2017-07-26 08:56:51
4
réponses

Pourquoi cette "variable externe non définie" n'entraîne-t-elle pas une erreur de linker en C++17?

j'ai compilé et exécuté le programme suivant dans un compilateur C++17 (Coliru). Dans le programme, j' déclaréextern vari ... ::cout<<"Ret : "<<ret<<std::endl; } pourquoi le compilateur ne donne-t-il pas une erreur de linker?
demandé sur 2017-07-11 10:21:18
5
réponses

Restreindre les arguments de modèle variadique

pouvons-nous restreindre les arguments de modèle variadique à un certain type? I. e., obtenir quelque chose comme ceci (p ... c'est ceci: template <class... Args> auto foo(Args... args) mais ceci accepte n'importe quel type de paramètre.
demandé sur 2016-09-23 14:00:11
2
réponses

Comment construire gcc avec la prise en charge des concepts C++ ("concepts lite")?

le Comité des standards c++ travaille sur un TS (spécification technique) pour L'extension des Concepts: "langages de prog ... puis-je construire et utiliser une version des concepts de support de gcc comme spécifié dans le [projet] TS ci-dessus?
demandé sur 2015-05-17 21:02:22
1
réponses

Est dynamique métaprogrammation mal formé (encore)?

L'une de mes inventions les plus aimées/maléfiques que j'ai eu la chance de rencontrer est le Counter constexpr ... "); Ceci est d'ailleurs en contradiction directe avec stockant des États dans la métaprogrammation C++?
demandé sur 2017-05-30 19:40:54
2
réponses

Surcharge d'objets de fonctions multiples par référence

En C++17, c'est facile à mettre en œuvre un overload(fs...) fonction qui, étant donné un nombre quelconque d'arguments fs. ... etourne une nouvelle fonction objet qui se comporte comme une surcharge de fs..., mais fs... au lieu de copier/déplacer?
demandé sur 2017-03-24 00:16:59
2
réponses

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

j'ai besoin d'un trait de type qui sera vrai si le type donné dérive de n'importe quoi, et faux autrement. Par exemple: ... a solution. si je peux en quelque sorte détecter si un type T a une classe de base, ma solution fonctionnera à nouveau.
demandé sur 2017-09-13 13:45:51
5
réponses

Est-ce que delete est autorisé à modifier son paramètre?

dans une réponse, https://stackoverflow.com/a/704568/8157187 , il y a une citation de Stroustrup: ... ents (parce qu'elle générerait une faille d'exécution, et 6.9 ne l'autorise pas), donc 6.7 ne s'applique pas .
demandé sur 2017-07-17 19:57:04
1
réponses

Pourquoi std:: iterator est-il déprécié?

Modèle de classe std::iterator est obsolète en C++17. Pourquoi donc? Il a été un moyen pratique de s'assurer ... rtout si vous pouvez faire usage des arguments de modèle par défaut. Y a-t-il une autre façon de le faire en C++17?
demandé sur 2017-04-07 04:16:47