Vector用数组下标访问的条件
2017-07-14 16:08
302 查看
vector实现数组访问的条件
通过两段代码测试,我们得出原则就是数组下标[]访问,前提就是这样的元素是存在的,就可以使用这样的访问形式,vector容器是重载了数组的访问形式。这一点程序员务必要小心,因为些这样的程序是编译通过的,但是运行的时候内存就会报错!#include <vector> #include <iostream> using namespace std; int main() { vector<int> test; for (int i = 0; i < 10; i++) test.push_back(i); cout << test[0]<<endl; test[0] = 10; cout << test[0] << endl; while (true) { } }
运行平台VS2013,结果如期若下:
或者采用另外一种形式:先直接定义了容器的大小了,如下代码:
#include <vector> #include <iostream> using namespace std; int main() { vector<int> test(10); for (int i = 0; i < 10; i++) test[i] = i; cout << test[0]<<endl; test[0] = 10; cout << test[0] << endl; while (true) { } }
运行结果是完全一样的:
总结
通过对vector的测试,总结出一点就是要想实现数组下标的访问,是什么时候都可以的事情,应为vector是自带重载该符号功能,但对于编程人员来说需要特别关注访问的元素内存是否存在?!相关文章推荐
- c++之Vector容器数据两种取值方法(指针访问,数组下标访问)
- NYOJ 贪心 vector的使用,是一个数组,有重复数据,可以下标访问
- jsoncpp数组下标为0时的访问注意事项 这样应该算是严重bug
- 指针与数组--指针访问与下标访问
- 数组下标访问
- Objective-C如何自己实现一个基于数组下标的属性访问模式
- vector 遍历及下标访问
- Objective-C如何自己实现一个基于数组下标的属性访问模式
- c++中如何使二级指针能够像数组下标模式访问
- 【Linux】shell字符串分割、数组访问、条件判断
- 伪数组(以行主序存储)下标访问
- 数组的下标访问和指针访问方式效率分析比较
- [js]关于闭包与访问数组下标的老生常谈
- 伪数组(以列主序存储)下标访问
- [指针一]结构体数组作为形参传递,下标访问和指针访问使用该结构体
- 数组的下标访问和指针访问方式效率分析比较
- NYOJ+Map的使用利用数组下标访问
- C++中重载数组下标访问操作符[ ] 和 赋值操作符 = ,* 和 -> 操作符和取反 !以及转化操作符bool和void*
- 当字符串数组String[]为空时,通过下标访问时会越界,空指针异常
- C++中数组下标访问负数的方法