Zwracanie przez wartość a konstruktor kopiujący

0

Cześć!
Moje pytanie brzmi... czemu przy wywołaniu func2() nie wywołuje się automatycznie konstruktor kopiujący?
Dzięki za odpowiedź!

#include <iostream>
using namespace std;

class simpleCC{
    int a;
public:
    simpleCC(): a(1){cout<<"CONSTRUCTION!"<<endl;};
    simpleCC(simpleCC&){
    cout<<"simpleCC(simpleCC&)"<<endl;
    };
};

void func1(simpleCC a){}

simpleCC func2(){
    simpleCC b;
    return b;
}

int main()
{
    simpleCC a;
    func1(a);
    func2();
}
0

Ok, dzięki, działa :).
Udało mi się także dotrzeć do takiej optymalizacji w dokumentacji kompilatora g++, że wartości "puste" będą pomijane. THICPP nie przewidywał takiego zdarzenia... Cóż, standardy się zmieniają chyba :).

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0