不能将一个数组赋值给另一个数组

您所在的位置:网站首页 不允许给常数赋值的函数 不能将一个数组赋值给另一个数组

不能将一个数组赋值给另一个数组

2024-07-13 15:38| 来源: 网络整理| 查看: 265

不能将一个数组赋值给另一个数组,但可以将一个string对象赋给另一个string对象

例如:

char  charr1[20]; //create an empty array char  charr2[20] = "jaguar";//create an initialized array string str1; //create an empty string object string str2 = "panther" //ctrate an initialized string charr1 = charr2; //INVALID, no array assignment str1 = str2; //VALID, object assigment ok //摘自C++ Primer Plus

charr1 = charr2;这句代码是无效的,一开始我以为charr1与charr2都是char* 类型的指针,为什么不能赋值呢?

后来百度得到一句话:“数组名是数组第一个元素的地址,代表指针型常量”。注意指针常量和常量指针的区别,*和const谁先在前就读谁。

charr1与charr2类型为char* const。

搜索了百度百科得到:指针常量的值是指针,这个值因为是常量,所以不能被赋值。

*(指针)const(常量),谁先在前先读谁,*象征着地址,const象征着内容,谁在前面,谁就不允许改变



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3