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

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
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
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
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
4
réponses

pourquoi std:: aucun cast ne supporte la conversion implicite?

pourquoi std::any_cast lance une exception std::bad_any_cast quand une conversion implicite du type stocké réel au ... e solution pour permettre une conversion implicite (dans le cas où le type exact que std::any détient est inconnu)?
demandé sur 2018-03-22 14:53:16
3
réponses

Pourquoi un if constexpr ne rend-il pas ce noyau constant expression error dissappear?

en référence à cette question . L'expression de constante centrale qui est utilisée pour initialiser la variable con ... lémentations. Il signale que l'erreur est reproductible avec GCC (7.2.0 / Tête 8.0.0) et Clang (5.0.0 / tête 6.0.0).
demandé sur 2017-10-01 15:08:28
3
réponses

int a=1, est-ce que a / / 1 est une expression constante?

N4527 5.20[expr.const]P5 une expression constante est soit une expression constante de glvalue dont la ... mmencé dans le cadre de l'évaluation de e; Est a || 1 un de base constante de l'expression ?
demandé sur 2015-07-21 00:00:22
2
réponses

Est void{} légal ou pas?

il s'agit d'une suite de cette question . Dans les commentaires et dans la réponse il est dit plus d'une fois ... Qu'est-ce que le void{} mentionné dans la puce ci-dessus et pourquoi est-il une expression légale dans ce cas?
demandé sur 2016-09-06 19:46:31
1
réponses

Est decltype(auto) structuré de liaison censé être une référence?

prenons un exemple: #include <iostream> #include <type_traits> #include <tuple> int main() { ... réponse le e devrait-il être une référence ou s'agit-il d'un bogue gcc? Ou peut-être que le code est mal formé?
demandé sur 2017-06-22 14:31:43
2
réponses

Est-ce un comportement non défini à `réinterpréter cast` a `T*` à `T(*)[N]`?

envisager le scénario suivant: std::array<int, 8> a; auto p = reinterpret_cast<int(*)[8]>(a.data()) ... tableau de 8 int objets y a-t-il une règle qui me manque pour que ce reinterpret_cast soit valide?
demandé sur 2018-01-25 16:28:18
1
réponses

Pourquoi operator () change-t-il pour std::function en C++17?

le code suivant est censément illégal en C++14 mais légal en C++17: #include <functional> int main() { ... a lambda est maintenant ignorés . Cela semble être un misfeature. Quelqu'un peut-il expliquer le raisonnement?
demandé sur 2015-10-11 22:11:49
3
réponses

Assemblage intriguant pour comparer std:: optionnel de types primitifs

Valgrind ramassé un flurry saut ou déplacement conditionnel dépend de valeur(s) non initialisée (s) dans l'un de ... nction en question dans son propre binaire fait disparaître le" problème". Le mythique MCVE s'avère insaisissable.
demandé sur 2018-07-31 17:46:26
1
réponses

Est-il possible de créer une lambda sur le tas en un seul pas? [dupliquer]

cette question a déjà une réponse ici: Lambda avec durée de stockage dynamique ... question Est, est-il possible de le faire en une seule étape? Créer une lambda sur le tas sans Pas supplémentaires?
demandé sur 2018-08-14 13:50:54
1
réponses

structuré liaison avec [[peut-être inutilisés]]

langages Fonctionnels avec filtrage (parfois?) ont la possibilité d'ignorer certaines valeurs liées, mais avec les fix ... al Studio GUI), permet l'attribut mais il ne fonctionne pas avec des reliures structurées. rapport de bogue
demandé sur 2016-12-31 02:33:21