首页 > 试题广场 >

引用与指针有什么区别?

[不定项选择题]
引用与指针有什么区别?
  • 指针是一个实体,而引用仅是个别名
  • 指针没有 const,引用有 const;
  • 引用不能为空,指针可以为空;
  • “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;
  • 从内存分配上看:程序为引用变量分配内存区域,而指针不需要分配内存区域
  • 指针和引用的自增(++)运算,意义一样
推荐

指针和引用的敏感词与区别 
★ 相同点:
1. 都是地址的概念;
指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。
★ 区别:
1. 指针是一个实体,而引用仅是个别名;
2. 引用使用时无需解引用(*),指针需要解引用;
3. 引用只能在定义时被初始化一次,之后不可变;指针可变;
5. 引用不能为空,指针可以为空;
6. “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;
7. 指针和引用的自增(++)运算意义不一样;
8.从内存分配上看:程序为指针变量分配内存区域,而引用不需要分配内存区域。
编辑于 2015-09-03 20:27:15 回复(6)
引用是占有内存的,别名只是习惯
#include <iostream>

using namespace std;
class refClass{
private:
     double& ref;
public:
    refClass(double var = 4.00) :ref(var){
        cout << sizeof(var) << endl;
    }
};


int main()
{
    double *p;
    cout << sizeof(double) << endl;//8
    cout << sizeof(p) << endl;//4
    cout << sizeof(refClass) << endl;//4

    return 0;
}

发表于 2020-09-22 19:31:24 回复(0)
引用实际实现和指针一样,只是语法上加了区别,限制你必须初始化,不能修改所指地址
发表于 2018-05-07 22:15:06 回复(0)

1. 指针是一个实体,而引用仅是个别名;

2. 引用使用时无需解引用(*),指针需要解引用;

3. 引用只能在定义时被初始化一次,之后不可变;指针可变;

4. 引用没有 const,指针有 const;

5. 引用不能为空,指针可以为空;

6. “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;

7. 指针和引用的自增(++)运算意义不一样;

8.从内存分配上看:程序为指针变量分配内存区域,而引用不需要分配内存区域。

发表于 2014-10-25 00:25:58 回复(4)
1. 指针是一个实体,而引用仅是个别名; 2. 引用使用时无需解引用(*),指针需要解引用; 3. 引用只能在定义时被初始化一次,之后不可变;指针可变; 4. 引用没有 const,指针有 const; 5. 引用不能为空,指针可以为空; 6. “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小; 7. 指针和引用的自增(++)运算意义不一样; 8.从内存分配上看:程序为指针变量分配内存区域,而引用不需要分配内存区域。
编辑于 2019-04-18 08:25:34 回复(0)
绝了,f居然对的?
发表于 2021-05-14 00:09:46 回复(0)
没有内存哪有指针。。。
发表于 2017-07-20 20:50:12 回复(0)
指针是一个实体,而引用仅是个别名//说指针是个实体,可能站在指针的值是实实在在存在于内存中,这样讲究通了
指针没有 const,引用有 const;//引用也可以改变,所以错
引用不能为空,指针可以为空;//对
“sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;//这句话里面的括号,很具有蛊惑性,,,乍一看,他说是指向的对象,最后还有个“的地址”...半天跟没说一样,还是32位的4字节,64位的8字节
提示:this的引用有const,但是引用没有const...
发表于 2016-11-15 10:22:22 回复(0)
指针是一个实体,这概念就模糊吧,它也是指向变量,自己也没存副本,怎么算实体?如果说存地址就算实体,引用也存了啊
发表于 2016-10-19 12:42:59 回复(1)
A C D   比较简单
发表于 2015-04-13 20:37:17 回复(0)
ACD
啊啊
发表于 2015-04-10 11:10:42 回复(0)
A,C,D 引用自增是数值上的变化?
发表于 2015-01-29 19:04:07 回复(0)
引用必须被初始化,指针不必。 其次,引用不可以为空,但指针可以为空
发表于 2014-11-04 17:10:01 回复(0)
1:初始化区别,引用必须有初始化值
2:引用一旦定义不能改变,指针可以改变

发表于 2014-11-02 15:00:21 回复(0)