分享

C++ 如何将容器(vector)作为参数传给一个函数?

 学海无涯GL 2013-12-13

问题:

生成一个vector <string> Vec 对象,我该如何将该对象传给一个函数(值传递),请问我该怎么定义形参?

回答:

以 vector<int> vec; 为例说明。有多种函数声明方式:
1. void deal( vector<int> vec );
2. void deal( vector<int>* pvec );
3. void deal( const vector<int>* pvec ); // 在函数内不能改变 pvec 指向的对象
4. void deal( vector<int>& vec );
5. void deal( const vector<int>& vec ); // 在函数内不能改变 vec 对象

其对应的调用分别是:
1. deal( vec );
2. deal( &vec );
3. deal( &vec );
4. deal( vec );
5. deal( vec );

补充:

3. void deal( const vector<int>* pvec ); //调用时不会调用拷贝构造函数
5. void deal( const vector<int>& vec ); // 在函数调用时调用了vector的拷贝构造函数

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多