extraneous calls to copy-constructor and destructor
Posted
by eSKay
on Stack Overflow
See other posts from Stack Overflow
or by eSKay
Published on 2010-04-17T08:23:13Z
Indexed on
2010/04/17
8:33 UTC
Read the original article
Hit count: 233
[This question is a follow up to this question]
class A
{
public:
A() {cout<<"A Construction" <<endl;}
A(A const& a){cout<<"A Copy Construction"<<endl;}
~A() {cout<<"A Destruction" <<endl;}
};
int main() {
{
vector<A> t;
t.push_back(A());
t.push_back(A()); // once more
}
}
The output is:
A Construction // 1
A Copy Construction // 1
A Destruction // 1
A Construction // 2
A Copy Construction // 2
A Copy Construction // WHY THIS?
A Destruction // 2
A Destruction // deleting element from t
A Destruction // deleting element from t
A Destruction // WHY THIS?
© Stack Overflow or respective owner