陈耿聪是个狠人 level
获赞
144
粉丝
10
关注
27
看过 TA
164
门头沟学院
2021
Java
IP属地:广东
骄兵必败
私信
关注
2020-07-29 23:37
已编辑
门头沟学院 Java
指针大小与32位、64位系统: https://www.cnblogs.com/HOMEofLowell/p/12944900.html64位计算机架构一般具有 64 位宽的整数型寄存器,而只有整数寄存器(integer register)才可存放指针值(内存数据的地址),因此指针的大小就自然是 8 个字节了。在 32 位系统中,地址的大小是 32 bit.32位系统或者64位系统,实际上说的是 CPU 一次处理数据的能力。 64位系统,这个位数指的是CPU 里面的通用寄存器的数据宽度为64位,也就是说一个地址占二进制位数是64,所以sizeof(double *)==sizeof(int *...
陈耿聪是个狠人:区别: (1):传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。 (2):使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。 (3):使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用"*指针变量名"的形式进行运算,这很容易产生错误且程序的阅读性较差;另一方面,在主调函数的调用点处,必须用变量的地址作为实参。而引用更容易使用,更清晰。
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务