Questions marquées «c++»

88
Comment comparer des pointeurs?

Supposons que j'ai 2 pointeurs: int *a = something; int *b = something; Si je veux les comparer et voir si elles pointent au même endroit, est-ce que (a == b) fonctionne?

88
Passer des pointeurs partagés comme arguments

Si je déclare un objet enveloppé dans un pointeur partagé: std::shared_ptr<myClass> myClassObject(new myClass()); alors j'ai voulu le passer comme argument à une méthode: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr<myClass> arg1) {...

88
En quoi void * a = & a est-il légal?

Considérez le code C ++ suivant: void* a = &a; Pourquoi le compilateur ne se plaint-il pas d'avoir utilisé un identifiant non déclaré? De plus, que considère le compilateur comme étant la variable a? Est-ce un pointeur vers un objet vide ou est-ce un pointeur vers un void*pointeur?...

88
Compilation de code multithread avec g ++

J'ai le code le plus simple qui soit: #include <iostream> #include <thread> void worker() { std::cout << "another thread"; } int main() { std::thread t(worker); std::cout << "main thread" << std::endl; t.join(); return 0; } bien que je ne puisse toujours pas le...

88
Les branches avec un comportement non défini peuvent-elles être considérées comme inaccessibles et optimisées en tant que code mort?

Considérez la déclaration suivante: *((char*)NULL) = 0; //undefined behavior Il invoque clairement un comportement indéfini. L'existence d'une telle instruction dans un programme donné signifie-t-elle que l'ensemble du programme est indéfini ou que le comportement ne devient indéfini qu'une fois...

88
Désordre d'initialisation par défaut, valeur et zéro

Je suis très confus au sujet de l'initialisation de la valeur et par défaut et zéro. et surtout lorsqu'ils se lancent dans les différents standards C ++ 03 et C ++ 11 (et C ++ 14 ). Je cite et j'essaie d'étendre une très bonne réponse Value- / Default- / Zero- Init C ++ 98 et C ++ 03 ici pour la...

88
Auto C ++ et vs auto

Lors de la création de variables locales, est-il correct d'utiliser (const) auto&ou auto? par exemple: SomeClass object; const auto result = object.SomeMethod(); ou const auto& result = object.SomeMethod(); Où SomeMethod () renvoie une valeur non primitive - peut-être un autre type défini...