Questions marquées «c++»

125
Lambda se retourne: est-ce légal?

Considérez ce programme assez inutile: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } Fondamentalement, nous essayons...

124
Double négation en C ++

Je viens juste d'arriver sur un projet avec une base de code assez énorme. Je travaille principalement avec C ++ et une grande partie du code qu'ils écrivent utilise la double négation pour leur logique booléenne. if (!!variable && (!!api.lookup("some-string"))) { do_some_stuff(); } Je sais...

124
C ++, magasin gratuit ou tas

new/deleteOn dit que les allocations dynamiques ont lieu sur le magasin libre , tandis que les malloc/freeopérations utilisent le tas . J'aimerais savoir s'il y a une différence réelle, dans la pratique. Les compilateurs font-ils une distinction entre les deux termes? ( Magasin gratuit et tas , pas...

124
Erreur «X ne nomme pas de type» en C ++

J'ai deux classes déclarées comme ci-dessous: class User { public: MyMessageBox dataMsgBox; }; class MyMessageBox { public: void sendMessage(Message *msg, User *recvr); Message receiveMessage(); vector<Message> *dataMessageList; }; Lorsque j'essaie de le compiler en utilisant gcc, cela donne...

124
Dois-je retourner EXIT_SUCCESS ou 0 depuis main ()?

C'est une question simple, mais je continue de voir des réponses contradictoires: la routine principale d'un programme C ++ doit-elle retourner 0ou EXIT_SUCCESS? #include <cstdlib> int main(){return EXIT_SUCCESS;} ou int main(){return 0;} Sont-ils exactement la même chose? Ne doit...

124
La 1.0 est-elle une sortie valide de std :: generate_canonical?

J'ai toujours pensé que les nombres aléatoires se situeraient entre zéro et un, sans1 , c'est-à-dire que ce sont des nombres de l'intervalle semi-ouvert [0,1). La documentation sur cppreference.com de le std::generate_canonicalconfirme. Cependant, lorsque j'exécute le programme suivant: #include...

124
Comment fonctionnent les variables en ligne?

Lors de la réunion Oulu ISO C ++ Standards 2016, une proposition appelée Variables en ligne a été votée en C ++ 17 par le comité des normes. En termes simples, que sont les variables en ligne, comment fonctionnent-elles et à quoi servent-elles? Comment les variables en ligne doivent-elles être...

123
Où trouver la définition de size_t?

Je vois des variables définies avec ce type mais je ne sais pas d'où il vient, ni quel est son but. Pourquoi ne pas utiliser int ou unsigned int? (Qu'en est-il des autres types "similaires"? Void_t,