Questions marquées «c++»

89
C ++: affiche la valeur d'énumération sous forme de texte

Si j'ai une énumération comme celle-ci enum Errors {ErrorA=0, ErrorB, ErrorC}; Ensuite, je veux imprimer sur la console Errors anError = ErrorA; cout<<anError;/// 0 will be printed mais ce que je veux, c'est le texte "ErrorA", puis-je le faire sans utiliser if / switch? Et quelle est votre...

89
stdcall et cdecl

Il existe (entre autres) deux types de conventions d'appel - stdcall et cdecl . J'ai quelques questions à leur sujet: Lorsqu'une fonction cdecl est appelée, comment un appelant sait-il s'il doit libérer la pile? Sur le site d'appel, l'appelant sait-il si la fonction appelée est une fonction cdecl...

89
shared_ptr magic :)

M. Lidström et moi nous sommes disputés :) L'affirmation de M. Lidström est qu'une construction shared_ptr<Base> p(new Derived);ne nécessite pas que Base ait un destructeur virtuel: Armen Tsirunyan : "Vraiment? Le shared_ptr nettoiera-t-il correctement? Pourriez-vous s'il vous plaît dans ce...

89
Qu'est-ce que 'std :;' faire en C ++?

J'ai récemment modifié du code et j'ai trouvé un bogue préexistant sur une ligne dans une fonction: std:;string x = y; Ce code se compile toujours et fonctionne comme prévu. La définition de chaîne fonctionne parce que ce fichier est using namespace std;, donc le std::n'était pas nécessaire en...

89
Rappel C ++ à l'aide d'un membre de classe

Je sais que cela a été demandé tant de fois, et à cause de cela, il est difficile de creuser dans la cruauté et de trouver un exemple simple de ce qui fonctionne. J'ai ça, c'est simple et ça marche pour MyClass... #include <iostream> using std::cout; using std::endl; class MyClass { public:...

89
Quelle est exactement la règle du «comme si»?

Comme le titre l'indique, Quelle est exactement la règle du «comme si»? Une réponse typique que l'on obtiendrait est: La règle qui autorise toutes les transformations de code qui ne changent pas le comportement observable du programme De temps en temps, nous continuons à obtenir des comportements...

89
Accéder au champ privé d'un autre objet de la même classe

class Person { private BankAccount account; Person(BankAccount account) { this.account = account; } public Person someMethod(Person person) { //Why accessing private field is possible? BankAccount a = person.account; } } Veuillez oublier le design. Je sais que la POO spécifie que les objets privés...

89
Comment créer un typedef conditionnel en C ++

J'essaye de faire quelque chose comme ça: #include <iostream> #include <random> typedef int Integer; #if sizeof(Integer) <= 4 typedef std::mt19937 Engine; #else typedef std::mt19937_64 Engine; #endif int main() { std::cout << sizeof(Integer) << std::endl; return 0; }...

89
Pourquoi memmove est-il plus rapide que memcpy?

J'étudie les points chauds de performance dans une application qui passe 50% de son temps dans memmove (3). L'application insère des millions d'entiers de 4 octets dans des tableaux triés et utilise memmove pour déplacer les données «vers la droite» afin de faire de la place pour la valeur...

89
Qu'est-ce que const void?

La description de std::is_voidindique que: Fournit la valeur de constante de membre égale à true, si T est du type void, const void, volatile void ou const volatile void. Alors que pourrait être const void, ou un volatile void? Cette réponse indique que le const voidtype de retour serait invalide...