总之一句话:容器类对象作为函数参数,与整数类型作为函数参数的传递特性相同。
验证程序
#include "stdafx.h" #include <iostream> #include <list> using namespace std; void do_something1(list<int> *ls) { ls->push_back(1); ls->push_back(2); ls->push_back(3); return; } void do_something2(list<int> ls) { ls.push_back(1); ls.push_back(2); ls.push_back(3); return; } void do_something3(list<int> &ls) { ls.push_back(1); ls.push_back(2); ls.push_back(3); return; } int main(void) { list<int> ls1,ls2,ls3; cout<<"**************"<<endl; cout<<"ls1:"<<endl; cout<<ls1.size()<<endl; do_something1(&ls1); cout<<ls1.size()<<endl; cout<<"**************"<<endl; cout<<"ls2:"<<endl; cout<<ls2.size()<<endl; do_something2(ls2); cout<<ls2.size()<<endl; cout<<"**************"<<endl; cout<<"ls3:"<<endl; cout<<ls3.size()<<endl; do_something3(ls3); cout<<ls3.size()<<endl; system("pause"); return 0; }
原文:http://blog.csdn.net/cjc211322/article/details/38421843