数组操作 指针
来源:互联网 发布:lua源码 编辑:程序博客网 时间:2024/05/19 16:02
数组一旦定义,就不允许再添加新元素。
如果必须在数组中添加新元素,必须自己管理内存:要求系统重新分配一个新的内存空间用于存放更大的数组,然后把原数组的所有元素复制到新分配的内存空间中。
在用下标访问元素时,vector使用vector::size_type作为下标的类型,而数组下标的正确类型则是size_t
数组越界只能靠自己注意细节,通过编译并执行的程序仍然存在致命的错误,这并不是不可能的。
注:导致安全问题的最常见原因是所谓的“缓冲区溢出”错误,当我们在编程时没有检查下标,并且引用了越出数组或其他类似数据结构边界的元素时,就会导致这类错误。
指针是指向某种类型对象的复合数据类型,是用于数组的迭代器:指向数组中的一个元素。
在指向数组元素的指针上使用解引用操作符*和自增操作符++,与在迭代器上的用法类似。
对指针进行解引用操作,可获得该指针所指对象的值。
与迭代器一样,指针提供对其所指对象的间接访问,只是指针结构更通用一些。
与迭代器不同的是,指针用于指向单个对象,而迭代器只能用于访问容器内的元素。
具体来说,指针保存的是另一个对象的地址。
eg:string s("hello world");
string *sp = &s; //定义了一个指向string类型的指针sp,并初始化sp使其指向string类型的对象s。
&取地址操作符只能用于左值,才能返回的是该对象的存储地址。
由于用于vector类型,string类型或内置数组的下标操作和解引用操作生成左值,因为可对这两种操作的结果做取地址操作。
0 0
- 数组指针的指针操作
- 二级指针操作指针数组
- C++ 指针/数组指针操作
- C++ 指针/数组指针操作
- 指针数组的操作
- 指针变量操作数组
- 指针操作二维数组
- 数组指针操作元素
- 数组操作 指针
- 数组的指针操作
- 用二级指针操作指针数组
- 三维数组的指针操作
- php 数组的指针操作
- 指针、数组的相关操作
- 2. 使用指针操作数组
- 数组与指针的操作
- 用指针操作二维数组
- 指针操作一维数组
- android中SharedPreferences的用法
- BIEE JavaHost组件启动状态为status
- java中split() 、replace()、 replaceAll()三个函数分析
- POJ 题目1422 Air Raid(二分图最小路径覆盖)
- Android应用开发----AIDL的使用
- 数组操作 指针
- Statement和PreparedStatement之间的区别 [转]
- jquery插件FlexiGrid的使用(已更新)
- vim语法高亮配置
- 笔记83--自定义view--onMesure、MeasureSpec详解
- Android平台语言支持状态(MTK6589)
- 理解遗传算法的例子
- MFC ado数据库:所有表名称
- AFNetworking图片缓存问题