55问答网
所有问题
c++,大神帮我解答,用封装的数组也就是数组对象,为什么就能避免下标越界问题
如题所述
举报该问题
推荐答案 2017-08-14
将数组封装成对象,必然要重载“[]”运算符,从而使数组对象在访问形式上和普通数组保持一致。
普通数组在访问数组元素时,如果下标超出范围,则会引发错误。而数组对象在用[]运算符访问元素时,其实是调用了[]的重载运算符函数。而在这个重载运算符函数中,会对下标进行判断,如果超出指定范围,则不进行访问;如果没有超出指定范围,那么进行正常的访问。
如此一来就避免了下标越界的问题。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/QRRccIRLFGLQFce44Q.html
其他回答
第1个回答 2017-08-14
因为代码中作了判断
~
~
~
相似回答
c语言
的数组下标越界问题
答:
这个是C的特点 自由 限制少 编译器 不会对
数组越界
给警告 得靠自己 仔细 定义了数组长度 N ,就该牢记 元素 下标是 0 到 N-1 给你介绍 一个 smart 点的方法 需要 为 N个
的数组
元素 则不定义长度为N的数组
,
而是定义 长度 为N + 1的数组 存放数据是 从 下标为1的元素开始 一直到下标...
C语言
数组下标越界问题
答:
C++
中,并不会自动检查
下标越界问题
。第一个程序中,a[10]=a[9],改变了不属于数组空间的内存单元。这个错误不会在编译和连接中反应出来,而是会一直运行下去,知道出现结果不正确。严重时可能导致死机。第二个程序也是同样道理
,数组
a只申请了三个整形的内存空间,越界的部分修改了内存中原来的数据。...
关于
C++
语言中
数组越界的问题
答:
这种应该不算是异常,是程序的bug
,用C++的异常处理也比较难捕捉,越界读写都可能导致错误的结果,甚至导致程序崩溃,要处理这种情况只能靠平时写代码时多积累,在有可能发生越界的地方做相应的判断处理。另外,可以用一些静态代码检查工具来帮助发现问题,但是并不能保证所有问题都能发现,关键还是要靠程序...
您好,这一题麻烦
帮我
讲解一下,C语言
答:
第二:数组在使用时,下标范围是从 0 到 (数组长度-1),否则越界
(不过需要补充一点,C和C++对数组没有下标检查,它实质上是以指针计算的方式来访问数组对应的位置,所以C和C++并无下标越界的概念,不论是编译还是运行,在下标越界访问时都不会有错误或异常,但运行结果自负)第一题选D 整型表达式不...
c语言二维
数组下标越界
?
答:
在C语言中定义了数组以后,对数组元素的各种访问,C语言编译系统都是不做下标范围检查的,但是如果编程着自己疏于检查而使
下标越界使用的
话,就会造成意想不到的错误,造成的结果也是不可预料的。所以编程应当绝对
避免越界
操作数组。
大家正在搜
数组是什么
什么是封装
c++数组
clcc封装
怎么定义数组
数组函数
数组
数组赋值
数组去重
相关问题
c++,为啥用封装的数组也就是数组对象,为什么就能避免下标越...
c++数组下标越界什么意思
编写一个c++程序,用异常处理机制处理数组下标越界的错误。
为什么我使用C++的vector 容器 引用的是vector...
c++数组下标越界什么意思