C++ 声明期间初始化引用
为什么在初始化过程中需要初始化参考文件。如果未初始化,则会抛出错误。Is it const数据应始终使用值初始化。为什么它只包含常量,而不需要在声明期间初始化变量 编辑:C++ 声明期间初始化引用,c++,c,C++,C,为什么在初始化过程中需要初始化参考文件。如果未初始化,则会抛出错误。Is it const数据应始终使用值初始化。为什么它只包含常量,而不需要在声明期间初始化变量 编辑: #include<stdio.h> int main() { int a=10,b=12; int &c=a; printf("%d\n",a); c=b; printf("%d\n",a); printf("%d\n",c); return 0;
#include<stdio.h>
int main()
{
int a=10,b=12;
int &c=a;
printf("%d\n",a);
c=b;
printf("%d\n",a);
printf("%d\n",c);
return 0;
}
#包括
int main()
{
INTA=10,b=12;
int&c=a;
printf(“%d\n”,a);
c=b;
printf(“%d\n”,a);
printf(“%d\n”,c);
返回0;
}
这是一个c程序,我用它作为参考。我错了吗?事情就是这样。有些指针不需要初始化,以后可以分配给。引用可以被认为是对象的同义词——你不能有一个空的同义词
通常,您必须初始化以后无法分配的任何内容,例如常量和引用。如果允许您而不是初始化它们,那么应该允许您在以后为它们指定一个新值,这会破坏整个目的这就是它的方式。有些指针不需要初始化,以后可以分配给。引用可以被认为是对象的同义词——你不能有一个空的同义词
通常,您必须初始化以后无法分配的任何内容,例如常量和引用。如果允许您而不是初始化它们,那么应该允许您稍后为它们分配一个新值,这会破坏整个用途在C中没有引用。您可能是指地址操作员:
在C中没有引用。您可能是指地址操作员:
您发布的代码无法编译为C程序,因为C中没有引用 要将其编译为C,您必须修改它:
#include<stdio.h>
int main()
{
int a=10,b=12;
int *c=&a;
printf("%d\n",a);
*c=b;
printf("%d\n",a);
printf("%d\n",*c);
return 0;
}
#包括
int main()
{
INTA=10,b=12;
int*c=&a;
printf(“%d\n”,a);
*c=b;
printf(“%d\n”,a);
printf(“%d\n”,*c);
返回0;
}
<> P>关于C++引用,引用需要初始化的事实是指针和引用之间的主要区别之一。
指针可以为NULL或无效,引用不能(实际上,您可以生成无效引用,但编译器应该警告您)。在某种程度上,引用用作别名。通过编写
inta;int&b=a代码>,现在一个变量(或内存位置)有两个名称。您发布的代码不能编译为C程序,因为C中没有引用
要将其编译为C,您必须修改它:
#include<stdio.h>
int main()
{
int a=10,b=12;
int *c=&a;
printf("%d\n",a);
*c=b;
printf("%d\n",a);
printf("%d\n",*c);
return 0;
}
#包括
int main()
{
INTA=10,b=12;
int*c=&a;
printf(“%d\n”,a);
*c=b;
printf(“%d\n”,a);
printf(“%d\n”,*c);
返回0;
}
<> P>关于C++引用,引用需要初始化的事实是指针和引用之间的主要区别之一。
指针可以为NULL或无效,引用不能(实际上,您可以生成无效引用,但编译器应该警告您)。在某种程度上,引用用作别名。通过编写inta;int&b=a代码>,现在一个变量(或内存位置)有两个名称。您能澄清一下吗?你是在谈论引用,但是你把这个问题标注成C语言问题。但是我们也可以在C中使用引用。C++C++中的引用是不同的。如果是这样,请解释我。我不知道。引用不存在于C.和引用中。代码>对吗?编辑:这是你的问题,它需要编译为C++工作,因为引用不存在于C.@乔:我们在C中调用什么?它指的是地址而不是引用。我对引用的理解是“任何前面有&”的变量,它是常量指针,是变量的别名。请帮助我理解!编辑:我在VisualStudio中编译-2008@Angus:在C++中,<代码> int和c= a;<代码>声明c
作为对d
的引用。然而,在类似int*p=&a
,和
表示“获取的地址”。在C语言中,只有第二种用法是有效的。你能澄清一下吗?你是在谈论引用,但是你把这个问题标注成C语言问题。但是我们也可以在C中使用引用。C++C++中的引用是不同的。如果是这样,请解释我。我不知道。引用不存在于C.和引用中。代码>对吗?编辑:这是你的问题,它需要编译为C++工作,因为引用不存在于C.@乔:我们在C中调用什么?它指的是地址而不是引用。我对引用的理解是“任何前面有&”的变量,它是常量指针,是变量的别名。请帮助我理解!编辑:我在VisualStudio中编译-2008@Angus:在C++中,<代码> int和c= a;<代码>声明c
作为对d
的引用。然而,在类似int*p=&a
,和
表示“获取的地址”。在C语言中,只有第二种用法是有效的。