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.

1
Est-ce que `égalité_comparable_avec` doit exiger` common_reference`?
Le conceptequality_­comparable_with<T, U> est destiné à déclarer que les objets de type Tet Upeuvent être comparés égaux les uns aux autres, et s'ils le sont, alors cela a la signification attendue. C'est très bien. Cependant, ce concept doit également common_reference_t<T&, U&>exister. L'impulsion principale pour common_referenceet sa fonctionnalité associée semble être …



1
Définition hors classe C ++ 20 dans une classe modèle
Jusqu'à la norme C ++ 20 de C ++, lorsque nous voulions définir un opérateur hors classe qui utilise certains membres privés d'une classe de modèle, nous utilisions une construction similaire à ceci: template <typename T> class Foo; template <typename T> constexpr bool operator==(T lhs, const Foo<T>& rhs); template <typename …
12 c++  templates  c++20 




2
Pourquoi une variable enum est-elle une valeur r ici?
Exemple: typedef enum Color { RED, GREEN, BLUE } Color; void func(unsigned int& num) { num++; } int main() { Color clr = RED; func(clr); return 0; } J'obtiens l'erreur suivante lorsque je compile ceci: <source>: In function 'int main()': <source>:16:9: error: cannot bind non-const lvalue reference of type 'unsigned …

1
Alias ​​public pour le type non public
Je me demande si c'est du C ++ valide: class Test { struct PrivateInner { PrivateInner(std::string const &str) { std::cout << str << "\n"; } }; public: using PublicInner = PrivateInner; }; //Test::PrivateInner priv("Hello world"); // Ok, private so we can't use that Test::PublicInner publ("Hello World"); // ?, by using …


5
Somme stable efficace de nombres ordonnés
J'ai une assez longue liste de nombres positifs à virgule flottante ( std::vector<float>, taille ~ 1000). Les nombres sont triés par ordre décroissant. Si je les additionne suite à la commande: for (auto v : vec) { sum += v; } Je suppose que je peux avoir un problème de …

2
Passer d'un concept à une fonction
Puisque les concepts sont définis comme des prédicats au moment de la compilation, est-il également possible de réutiliser ces prédicats pour les algorithmes au moment de la compilation? Par exemple, serait-il possible de vérifier si tous les types d'un tuple sont conformes à un concept? Pour autant que je l'ai …

2
Initialisation du vecteur atomique
Considérer: void foo() { std::vector<std::atomic<int>> foo(10); ... } Le contenu de foo est-il maintenant valide? Ou dois-je les parcourir explicitement et les initialiser? J'ai vérifié Godbolt et ça semble bien, mais la norme semble être très confuse sur ce point. Le constructeur std :: vector dit qu'il insère des instances …
12 c++  vector  atomic 



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.