必须要加static么?
追答如果不是常量数组的话,可以不是静态的,不过初始化的时候要在构造函数里面。
追问是怎么弄的,能详细些么谢谢?我是新手
追答刚才你给的情况,数组是常量,也就是声明的时候需要赋值,之后值不会被改变。如果数组不是常量数组的话,比如下面的情况,可以采用下面的方式赋值:
class X明白了如果是字符型常量如“hello world”就必须用static const来初始化,如果不是常量是字符型变量如char [5]就不用,是吧
追答是的,对头!
本回答被提问者采纳c++类里定义的字符型数组const char a[5]怎么赋值?
const char a[5]={'X','Y','Z','1','2'};(2)把它看成字符串,用 strcpy 赋值,例如:strcpy(a,"abcde");(3)用 memcpy 把另一个数组里的值传给它 memcpy(a,b,5);(关键注意 a[i] 不能做左值,用赋值语句赋值,因为 它是 const.)在 c++ class 里,也 用 c 语言 的...
C++ 类中 字符串怎么赋值
类中只用声明char s;即可 构造函数中加s=NULL;然后 int set_s(const char new_s){ if (s)delete s;s = new char[strlen(new_s)+1];strcpy(s,new_s);return 0;} 析构函数中加 if (s)delete s;
C++里面,含有数组的类对象是怎么赋值的?
C++类的对象数组赋值问题 如下:void main(){ CStudent Cs[4]={ CStudent(1,"张三",80), CStudent(2,"李四",75), CStudent(3,"王五",95), CStudent(4,"小六",62) }; \/\/这样就可以赋初值.也可以使用成员函数一个个设置.如下:\/* Cs[0].SetID(1); Cs[0].SetName("张...
constchar是什么意思?比如要把一个变量定义为constchar有什么..._百...
const char指的是字符常量,它具有不可变性。一旦被初始化或赋值,其值就不能被改变。这种类型常用于定义字符串常量或字符数组中的元素。例如,在定义字符串常量时,每个字符都被视为const char类型。这是因为字符串在程序运行过程中是不可变的,即其内容一旦确定就不能更改。2. const char的应用场景 ...
C++中如何将汉字字符串赋值给一个变量?
使用strcpy函数,修改char输入的元素值,注意不要越界strcpy(a,"你好");
C++ const char* 和 char*区别
char *都一样, 说明定义指向字符类型数据的指针, const修饰表明这个指向的数据类型(char型)的数据是只读的,或者说是常量不允许修改,仅此区别,如果在程序中用p去修改了数据则会在编译时报错
关于C++中string类型变量的赋值
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数...
C++里的基础类型字面值都底是const的还是非const得?请看看问题提...
= "hello"; 这样的初始化或者 char* q; q = "hello"; 这样的赋值就是非法的了(因为右边的类型 char const* 不能默认转换为左边的类型 char* )。同样,为了使上述代码能顺利通过编译过程,C++ 采取了另外一种策略:它规定了字符串字面量的类型是 const 数组,同时又特别规定了字符串字面量也...
const char *赋值 char*
第一种情况:char *p="123";是将p指针指向了const字符串“123”;也就是说p是指向常量的指针,所以,*(++p)=‘k’出错,因为你在试图对常量重新赋值。第二种情况:char c[]="hello";这个是比较容易混淆的,因为其形式很像第一种,但其实有本质的区别。这里我们用字符串“hello”来初始化数组...
请问C++的字符串string类为什么数组中不能为变量?
因为数组在C++中是静态存在的,它占用一定的空间(也就是固定长度),在数组当前所在函数运行中是不能改变其长度的(函数结束就消失),一旦改变了长度,数组所在内存区就会出现空缺,导致出错!你在int n=5之前不添加const声明为常变量,系统将认为你“企图”在运行中修改数组长度,所以不予通过。