Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class A{
- private:
- int z;
- public:
- ~A(){
- cout<<"Ad ";
- }
- };
- class B{
- public:
- A* p;
- A a;
- ~B(){cout<<"Bd ";}
- };
- class C
- {
- public:
- static B s;
- int k;
- A a;
- ~C(){cout<<"Cd ";}
- };
- B C::s=B();
- int main(){
- C c1, c2;
- }
- /* Senza l'ottimizzazione (-fno-elide-constructors) stampa Bd Ad Cd Ad Cd Ad Bd Ad (distrugge due volte un campo dati
- statico? Credevo che un campo dati statico fosse uno per tutte le istanze della classe)
- * Con l'ottimizzazione stampa: Cd Ad Cd Ad Bd Ad, che pensavo fosse la stampa normale (perchè ?)
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement