browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

写段程序测试容器元素的复制

Posted by on 2004 年 06 月 11 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

程序如下:

C++代码
  1. #include <iostream>   
  2. #include <list>   
  3. using namespace std;   
  4. class A   
  5. {   
  6. public:   
  7.   A()   
  8.   {   
  9.     cout << "default construction." << endl;   
  10.   }   
  11.   A(const A& a)   
  12.   {   
  13.     cout << "copy construction." << endl;   
  14.   }   
  15.   A& operator=(const A& a)   
  16.   {   
  17.     cout << "operator=()." << endl;   
  18.   }   
  19. };   
  20. int main()   
  21. {   
  22.   list<A> l;   
  23.   A a;   
  24.   l.push_back(a);   
  25.   return 0;   
  26. }  

结果:

default construction.
copy construction.

结论:

容器在装入元素的时候调用的是拷贝构造函数,而不是operator=。

订阅本站

没有评论

(Required)
(Required, will not be published)