Questions marquées «c++»

C ++ est un langage de programmation à usage général. Il a été initialement conçu comme une extension de C et a une syntaxe similaire, mais c'est maintenant un langage complètement différent. Utilisez cette balise pour les questions sur le code (à compiler) avec un compilateur C ++. Utilisez une balise spécifique à la version pour les questions liées à une révision standard spécifique [C ++ 11], [C ++ 14], [C ++ 17] ou [C ++ 20], etc.


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 …


2
Construire des exceptions standard avec un argument de pointeur nul et des post-conditions impossibles
Considérez le programme suivant: #include<stdexcept> #include<iostream> int main() { try { throw std::range_error(nullptr); } catch(const std::range_error&) { std::cout << "Caught!\n"; } } GCC et Clang avec libstdc ++ appellent std::terminateet abandonnent le programme avec le message terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct null not valid Clang …

2
Puis-je renvoyer une canalisation temporaire vers une opération de cuisinière?
Supposons que j'ai une generate_my_rangeclasse qui modélise un range(en particulier, est regular). Le code suivant est-il alors correct: auto generate_my_range(int some_param) { auto my_transform_op = [](const auto& x){ return do_sth(x); }; return my_custom_rng_gen(some_param) | ranges::views::transform(my_transform_op); } auto cells = generate_my_range(10) | ranges::to<std::vector>; Est my_custom_rng_gen(some_param)pris en valeur par le (premier) opérateur …
9 c++  range-v3 


2
Quels sont les espaces de noms et quelles sont les règles?
Remarque: cette question concerne name space, non namespace. La norme C ++ a quelques références name space, mais je ne vois pas la définition de cela. Les normes indiquent que les étiquettes et les macros se trouvent dans des espaces de noms différents. Toutes les autres références à se name …
9 c++  namespaces 

1
Création d'objet implicite non spécifié
Depuis P0593 La création implicite d'objets pour la manipulation d'objets de bas niveau a été acceptée, les objets peuvent maintenant être créés implicitement en C ++ 20. Plus précisément, le libellé introduit par la proposition permet à certaines opérations (telles que std::malloc) de créer et de démarrer automatiquement la durée …








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.