de Possible en double:
Do the parentheses after the type name make a difference with new?C++ - Quelle est la différence entre ClassA * pClassA = new ClassA et ClassA * pclassA = new ClassA()
Bonjour à tous,
/* Désolé pour mon message original et je corrige ma question comme suit */
Supposons que t chapeau ClassA est une classe C++ bien défini et a un constructeur par défaut, etc. Quelle est la différence entre les deux cas suivants:
ClassA* pClassA = new ClassA; // case I
classA* pClassA = new ClassA(); // case II
Il a été considéré comme une bonne pratique d'utiliser le cas I si possible.
Pour quelle raison? Parce que dans le cas où seul le constructeur par défaut de ClassA sera appelé, alors que dans le cas II, une instance temporaire de ClassA sera construite.
Est-ce correct?
Merci
vous pouvez toujours tester votre propre devinette en créant constructeur de copie et constructeur par défaut et en plaçant à l'intérieur copie cteur point d'arrêt. – Andrey
Non, ce n'est pas correct. Et cela a déjà été demandé plusieurs fois. –
@Andrey Ou juste rendre le constructeur de copie privé. –