Questions marquées «c++17»

C ++ 17 est le nom du standard C ++ approuvé en 2017. Il s'appuie sur l'ancien standard C ++ 14, améliorant le langage de base et la bibliothèque standard, et ajoutant quelques nouvelles fonctionnalités de langage.

1
Problème dans GCC / C ++ 17 avec la classe de modèles de modèles
Considérez les 2 surcharges suivantes template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } Le 1er fonctionne pour les classes régulières, tandis que le 2ème fonctionne pour les modèles qui ne sont pas instanciés. Par exemple: std::cout<<test<int>()<<std::endl; <-- this yields 1 …
10 c++  templates  gcc  clang  c++17 




2
Comment élider la copie lors du chaînage?
Je crée une classe de type chaînage, comme le petit exemple ci-dessous. Il semble que lors du chaînage des fonctions membres, le constructeur de copie soit invoqué. Existe-t-il un moyen de se débarrasser de l'appel du constructeur de copie? Dans mon exemple de jouet ci-dessous, il est évident que je …
10 c++  c++14  c++17 


2
Syntaxe valide de l'appel d'un pseudo-destructeur pour une constante flottante
Considérez le programme de démonstration suivant. #include <iostream> int main() { typedef float T; 0.f.T::~T(); } Ce programme est compilé par Microsoft Visual Studio Community 2019. Mais clanget gccémettre une erreur comme celle-ci prog.cc:7:5: error: unable to find numeric literal operator 'operator""f.T' 7 | 0.f.T::~T(); | ^~~~~ Si pour écrire …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.