这两者各有什么优点以及缺点啊?
(在做习题时遇上的,但自己不知道应该怎么回答,感觉自己没办法说清楚~~)
9 个解决方案
#1
能用引用,还是别用指针。
一般地:对象用引用,内置类型用指针。
一般地:对象用引用,内置类型用指针。
#2
那个习题真无聊。这个东西你不需要形参接受副本就引用啊。
传数据的指针也可以,这也可以归纳出东西出来。无语。
#3
引用在内存中不用再申请新拷贝空间,直接调用。可以说是省空间又省时间。
指针的话就是省空间但不省时间,形参与实参之间还有一个赋值过程。
指针的话就是省空间但不省时间,形参与实参之间还有一个赋值过程。
#4
可以说说具体一点吗?指针不是也可以指向对象么?谢谢了!!
#5
使用引用的理由有二:
1。希望能直接对所传入的对象进行修改;2。降低复制大型对象的负担。
其实使用引用和指针没什么差别,传递的都是对象地址。唯一的差别是使用的方法不同。
二者之间的差异是:
指针可能(也可能不)指向某个实际对象。使用指针时要先确定其值为非0。而引用不需要的。
1。希望能直接对所传入的对象进行修改;2。降低复制大型对象的负担。
其实使用引用和指针没什么差别,传递的都是对象地址。唯一的差别是使用的方法不同。
二者之间的差异是:
指针可能(也可能不)指向某个实际对象。使用指针时要先确定其值为非0。而引用不需要的。
#6
引用就是别名;直接操作,效率比较高;
#7
如果这本书上是这样提问,也挺搞笑的了。
关于值传递还是引用传递的问题,在不同场合有很复杂的说法。
关于值传递还是引用传递的问题,在不同场合有很复杂的说法。
#8
1.当需要修改调用函数中的数据对象。
2.传递引用而不是整个数据对象,可以提高效率。
引用和指针的区别:
相同点
都是地址的概念,指针指向一块内存,内容就是指向内存的地址,而引用就是一块内存的地址。
不同点
1.引用仅是一个别名(不需要分配内存),而指针是一个实体(需要分配内存)。
2.引用定义时必须初始化,且以后不可以改变,而指针不需要。
3.引用不可以为空(NULL),而指针可以为空。
4.引用不可是const类型的,而指针可以是,且const类型的指针和引用更相似。
5.引用无需解引用(*),而指针需要。
6.sizeof(引用)的值是所指向变量的大小,而sizeof(指针)的值是指针的大小(32位)是4。
7.引用和指针的自增(++)和自减(--)的含义不同。
2.传递引用而不是整个数据对象,可以提高效率。
引用和指针的区别:
相同点
都是地址的概念,指针指向一块内存,内容就是指向内存的地址,而引用就是一块内存的地址。
不同点
1.引用仅是一个别名(不需要分配内存),而指针是一个实体(需要分配内存)。
2.引用定义时必须初始化,且以后不可以改变,而指针不需要。
3.引用不可以为空(NULL),而指针可以为空。
4.引用不可是const类型的,而指针可以是,且const类型的指针和引用更相似。
5.引用无需解引用(*),而指针需要。
6.sizeof(引用)的值是所指向变量的大小,而sizeof(指针)的值是指针的大小(32位)是4。
7.引用和指针的自增(++)和自减(--)的含义不同。
#9
我也觉得2楼说的是,习题是无聊。可是上来问一下还是可以学到不少:
1楼 和 3楼 说的都是我不太了解的,呵呵~
8楼的很详细,谢谢你们了!!
1楼 和 3楼 说的都是我不太了解的,呵呵~
8楼的很详细,谢谢你们了!!
#1
能用引用,还是别用指针。
一般地:对象用引用,内置类型用指针。
一般地:对象用引用,内置类型用指针。
#2
那个习题真无聊。这个东西你不需要形参接受副本就引用啊。
传数据的指针也可以,这也可以归纳出东西出来。无语。
#3
引用在内存中不用再申请新拷贝空间,直接调用。可以说是省空间又省时间。
指针的话就是省空间但不省时间,形参与实参之间还有一个赋值过程。
指针的话就是省空间但不省时间,形参与实参之间还有一个赋值过程。
#4
可以说说具体一点吗?指针不是也可以指向对象么?谢谢了!!
#5
使用引用的理由有二:
1。希望能直接对所传入的对象进行修改;2。降低复制大型对象的负担。
其实使用引用和指针没什么差别,传递的都是对象地址。唯一的差别是使用的方法不同。
二者之间的差异是:
指针可能(也可能不)指向某个实际对象。使用指针时要先确定其值为非0。而引用不需要的。
1。希望能直接对所传入的对象进行修改;2。降低复制大型对象的负担。
其实使用引用和指针没什么差别,传递的都是对象地址。唯一的差别是使用的方法不同。
二者之间的差异是:
指针可能(也可能不)指向某个实际对象。使用指针时要先确定其值为非0。而引用不需要的。
#6
引用就是别名;直接操作,效率比较高;
#7
如果这本书上是这样提问,也挺搞笑的了。
关于值传递还是引用传递的问题,在不同场合有很复杂的说法。
关于值传递还是引用传递的问题,在不同场合有很复杂的说法。
#8
1.当需要修改调用函数中的数据对象。
2.传递引用而不是整个数据对象,可以提高效率。
引用和指针的区别:
相同点
都是地址的概念,指针指向一块内存,内容就是指向内存的地址,而引用就是一块内存的地址。
不同点
1.引用仅是一个别名(不需要分配内存),而指针是一个实体(需要分配内存)。
2.引用定义时必须初始化,且以后不可以改变,而指针不需要。
3.引用不可以为空(NULL),而指针可以为空。
4.引用不可是const类型的,而指针可以是,且const类型的指针和引用更相似。
5.引用无需解引用(*),而指针需要。
6.sizeof(引用)的值是所指向变量的大小,而sizeof(指针)的值是指针的大小(32位)是4。
7.引用和指针的自增(++)和自减(--)的含义不同。
2.传递引用而不是整个数据对象,可以提高效率。
引用和指针的区别:
相同点
都是地址的概念,指针指向一块内存,内容就是指向内存的地址,而引用就是一块内存的地址。
不同点
1.引用仅是一个别名(不需要分配内存),而指针是一个实体(需要分配内存)。
2.引用定义时必须初始化,且以后不可以改变,而指针不需要。
3.引用不可以为空(NULL),而指针可以为空。
4.引用不可是const类型的,而指针可以是,且const类型的指针和引用更相似。
5.引用无需解引用(*),而指针需要。
6.sizeof(引用)的值是所指向变量的大小,而sizeof(指针)的值是指针的大小(32位)是4。
7.引用和指针的自增(++)和自减(--)的含义不同。
#9
我也觉得2楼说的是,习题是无聊。可是上来问一下还是可以学到不少:
1楼 和 3楼 说的都是我不太了解的,呵呵~
8楼的很详细,谢谢你们了!!
1楼 和 3楼 说的都是我不太了解的,呵呵~
8楼的很详细,谢谢你们了!!