Bonjour,
Je dispose d'une classe X:
Le new de la classe et le new qui se situe à l'intérieur du constructeur, sont-ils indépendants ? Que se passe t-il si le new situé à l'intérieur du constructeur échoue ? Est-ce que le new de la classe échoue également ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Class X { public: X(); ~X(); private: int *Var; } X() { Var = new (std::nothrow) int; } int main() { X *cX = new (std::nothrow) X(); if(cX) { /*...*/ } return 0; }
Etant donné que je suppose que non, le seul moyen pour vérifier que l'allocation s'est bien effectué pour la variable Var serait d'écrire une fonction membre qui permette de récupérer la variable Var et ainsi de pouvoir la tester dans le main. Y'a t-il une autre solution, comme par exemple pouvoir rendre le new de la classe dépendant des new qui composent son constructeur. Est-ce possible ?
Cordialement,
Julien.
Partager