不能将一个数组赋值给另一个数组 |
您所在的位置:网站首页 › 不允许给常数赋值的函数 › 不能将一个数组赋值给另一个数组 |
不能将一个数组赋值给另一个数组,但可以将一个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 Pluscharr1 = charr2;这句代码是无效的,一开始我以为charr1与charr2都是char* 类型的指针,为什么不能赋值呢? 后来百度得到一句话:“数组名是数组第一个元素的地址,代表指针型常量”。注意指针常量和常量指针的区别,*和const谁先在前就读谁。 charr1与charr2类型为char* const。 搜索了百度百科得到:指针常量的值是指针,这个值因为是常量,所以不能被赋值。 *(指针)const(常量),谁先在前先读谁,*象征着地址,const象征着内容,谁在前面,谁就不允许改变 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |