const变量必须初始化
答:任何变量“初始化”都只有一次。const修饰的是只读变量,在程序全程中其值永远不变。static修饰的变量的值可以无数次改变,但无论在哪里改变,其改变后的值一直保留至下次改变之前。const修饰的变量在内存中存放在无const修饰的同类变量同一区域,static修饰的变量则在专门的另一区域。
答:二、const关键字 1、用const修饰一般变量 用const修饰的变量必须在声明时进行初始化(用来修饰函数的形参除外)。2、const与指针搭配使用 用const修饰的变量必须在声明时进行初始化(用来修饰函数的形参除外)。两个基础概念: 指针常量和常量指针。指针常量:即指针本身的值是不可改变的,而指针指向的变量的值...
答:一、区别如下:1、int定义的量是变量,它的值可以更改;而const int 定义的是一个常量,它的值不可以更改。2、int在定义的时候,不需要初始化,而const int 在定义的时候必须初始化;二、const的作用:把对象转换成一个常量
答:1、 修饰变量:C语言中采用const修饰变量,功能是对变量声明为只读特性,并保护变量值以防被修改。举例说明如下:const int i = 5;上面这个例子表明,变量i具有只读特性,不能够被更改;若想对i重新赋值,如i = 10;则是错误的。值得注意的是,定义变量的同时,必须初始化。定义形式也可以写成int ...
答:对常量成员的初始化,你应该在类的构造函数的初始化部分初始化,而非像静态类成员那样在类声明中初始化。像这样:class abc { public:abc();private:const int ab;};abc::abc():ab(0)//在这里初始化。{} 这是因为,对于静态成员来说,它是属于所有的类对象的,在内存中只存在一份拷贝,自然...
答:一、const int 和int 的区别 具体的是 int定义的是一个变量,不需要初始化const int定义的是常量,需要初始化 1、返回值 const int & 是返回这个数值的一个常量的引用。而int 是返回这个数值的一个拷贝。int 是进行拷贝构造,而const int & 是返回的引用。拷贝构造更消耗时间,与此同时还用析构...
答:const关键字至少有下列n个作用:(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;(3)在一个函数声明中,const...
答:const数据成员只能在成员初始化列表进行初始化,static数据成员只能在类外进行初始化。static const数据成员既可以在声明时初始化,也可以在类外初始化。下面是一个例子:include<iostream> using namespace std;class A { public:A():ci(1){} void output(){ cout<<ci<<endl;cout<<A::si<<endl...
答:像 42 这样的值,在程序中被当作字面值常量。称之为字面值是因为只能用它的值称呼它,称之为常量是因为它的值不能修改。每个字面值都有相应的类型,例如:0 是 int 型,3.14159 是 double 型。只有内置类型存在字面值,没有类类型的字面值。因此,也没有任何标准库类型的字面值。 c++ primer中2...
答:不是。比如,通过const修饰的或是#define得到的常量,是可以不初始化的。但是,若是他们在定义时(叫“声明”比较合适)没有被初始化,那么之后的任何时刻都不能对这个常量的值进行修改了。
网友评论:
盖信18316213747:
const修饰的只读变量必须在定义的同时初始化,想想为什么? -
69447农菲
: 在定义的时候就把它的内存空间给限制死了,要是不初始化,那块区域永远就是那个样子了~~~~C语言标准规定的...
盖信18316213747:
const 定义的变量 为什么要初始化 为什么要赋个值啊 -
69447农菲
: 纠正个概念错误,首先 const定义的是变量 ,是不可改变的变量,注意:不是常量! 如下语句:const int a=5; int b[a]; 会出现编译错误,就因为 a不是常量 既然const定义的变量不可改变,在声明时赋值,也就是必须的了
盖信18316213747:
const变量赋值 -
69447农菲
: 看来有个概念你得搞清楚:由编译器确定值叫初始化,由C/C++代码确定值就叫赋值,不叫初始化而叫赋初值了.const变量只有初始化的份儿(而且必须初始化),根本不能被赋值(哪怕是初值);如果能被赋值,还叫什么const(只读)变量...
盖信18316213747:
const的变量在哪初始化 -
69447农菲
: const修饰的翻译期标识符具有常量语义,对于编译期(源代码)而言,必须在定义时同时被初始化,且一旦被定义即无法修改,否则产生编译错误. 对于编译器而言,如果用于初始化const对象的值在编译期即能被确定,则可以把这个const对...
盖信18316213747:
关于c中的const~~能给我说说const的具体用法么?比如跟
69447农菲
: 一、对于基本声明1.constintr=100;//标准const变量声明加初始化,因为默认内部连接所以必须被初始化,其作用域为此文件,编译器经过类型检查后直接用100在编译时...
盖信18316213747:
C语言 结构体声明中const成员如何初始化 -
69447农菲
: const成员必须在定义的时候同时初始化,而不能在后续再进行赋值.结构体定义时初始化的方法为: struct type_name var_name = {value1, value2, ...}; 其中type_name为结构体类型名,var_name为结构体变量名.=后面的大括号中,是各个成员变量的初始化值,根据成员变量的定义顺序一一对应.在初始化变量表内没有显式定义的,系统默认初始化值为0.
盖信18316213747:
const 的用法 -
69447农菲
: const只能声明常量,对它必须它赋值,并且是不能改变的,所以必须初始化这个值
盖信18316213747:
c++ 类里const怎么初始化 -
69447农菲
: 1、类的const成员变量必须在构造函数的参数初始化列表中进行初始化. 2、构造函数内部,不能对const成员赋值,编译器直接报错. 3、构造函数列表初始化执行顺序与成员变量在类中声明相同,与初始化列表中语句书写先后无关.
盖信18316213747:
c语言中const 是什么意思,怎么用,什么时候用? -
69447农菲
: 以这个为例const int i=100; 这表示i的值不能被改变,也就是常变量,如果你在程序中再给i赋值,比如i=200; 这就会报错.也可用在函数上,格式:int sort(int ,int) const{} 用处:让不想改变的变量不被无意或有意的改变...
盖信18316213747:
error C2734: 'c' : const object must be initialized if not extern -
69447农菲
: const修饰的变量在定义时必须初始化.这是因为const修饰的变量定义后就不能被修改,如果没有初始化,那么声明这个变量就没有任何意义了,因此编译器阻止这种行为. const int a; 编译时产生如下错误:error C2734: 'a' : const object must be initialized if not extern