c++下标运算符的理解和带上机总结一些小技巧

[]下标运算符的意义的理解:下标运算符的根本意义应该就是取出某个指针所存储的地址,这个地址(某个特定的数据类型,应该对c++

的内置数据类型都进行了重载,如int*、char*等)中存储的值。如果其中的下标为i(注意:i可以是整数也可以是负数)表示的是当

前指针所在的下标为0,以此为基础向后(i为正)或者向前(i为负)i个单元(由特定数据类型而定)的数据单元中所存储的值。如

int *p = &a,p[1]就是p向后移动四个字节(因为是int)之后的下一个int的存储单元中存储的值(int型的),p[-1]就是p向前移动

四个字节(因为是int)之后的上一个int的存储单元中存储的值(int型的),其他数据类型都是如此,如果是自定义的数据类型则需

要对下标运算符进行重载。

这样就便于理解动态创建高维数组的思路,以及动态创建之后仍然可以使用array[i][j][k]去访问数组特定元素的工作原理;
同时也就理解了静态创建的高维数组如A[m][n],当&A[2]取到的地址实际就是第二行的一维数组的首地址的工作原理

 

编程中常用的几个小技巧:
1.标识符:在某种情况下需要将这个标识符置True或者False,如在判断素数的时候,如果一旦可以被小于它的数整除则说明这个数不

是素数,把标识是素数的标识置为False,说明它不是素数即可;在一些情况下需要自己定义一个文件的格式方便解析,可以在文件的特

定位置加入一些特殊标识,在进行解析的时候很方便遇到这些标识的时候解析为特定意义的内容

2.计数器:在一些情况下需要计算某个字符出现的次数,或者遇到某个字符时候执行n次操作,如一行输出几个数字进行输出,还有遇到

字符0的时候将其转换为n个a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值