2 hchchc6016 hchchc6016 于 2016.03.25 21:27 提问

c++向量括号里是数组是什么意思

这个是书本上的一段,有点看不懂,定义的向量的括号里是两个指针吗,代表什么意思呢图片

2个回答

yisuoyanyulou1314
yisuoyanyulou1314   2016.03.25 21:48
已采纳

你可以去查看MSDN的官网API

  1. Create a vector v5 by copying the range v4[_First, _Last)

    std::vector v5(v4.begin() + 1, v4.begin() + 3);

    可以看出括号这里是放置一个迭代器或者数组,直接写数组名ia就是指数组ia第一个位置,ia+8就是数组第八个位置。
        数组和指针是有区别的,这里直接写一个数组名ia,可以理解为指向数组首地址的一个指针。
    
Aaron_005
Aaron_005   2016.03.25 21:41

vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
vector c(beg,end)//创建一个以(beg;end)为区间的vector
按照声明来说,beg和end对于容器来说,它只看内存的区间,也就是ia[8]对于它来说,其实是合法的地址。区间是合法的,自然就可以赋值了。但是对于数组ia[8]来说,他只能取地址,但是无法对地址的内容进行写,因为已经非法内存地址了。
ia+8是可以取地址的。计算机取偏移量的。ia+100都可以的。只不过内存的权限就很难说了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!