栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ vector的赋初值是引用了原来的vector还是新建vector?

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ vector的赋初值是引用了原来的vector还是新建vector?

C++ vector的赋初值是引用了原来的vector还是新建vector? 1. 问题:如下所示赋值的操作,到底是重新赋值了,还是引用了a呢?
    // base vec
    vector a = {0, 1, 2};

    // new vecs
    vector b = a;
    vector c(a.begin(), a.end());
    vector d(a);
2. 测试代码:
// g++ test_create_vector.cpp -o create_vector
// ./create_vector
// 主要用来测试几种创建时刻赋值的区别
#include 
#include 
using namespace std;

void one_D_create_arr_test() {
    // base vec
    vector a = {0, 1, 2};

    // new vecs
    vector b = a;
    vector c(a.begin(), a.end());
    vector d(a);

    // init using arrs
    int arr[3] = {0, 1, 2};
    vector e(arr, arr + 3);

    b[0] = 100;
    cout << a[0] < 
3. 结论 
结果: 
levi@LEVI1:~/code$ g++ test_create_vector.cpp -o create_vector
levi@LEVI1:~/code$ ./create_vector
0
0
100
0

最终结论为:使用引用的只有形如vector b(a)的操作,其他行为均为新建vector后赋值。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/983009.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号