#include<iostream>
using namespace std;
int main()
{
char *const name= "chen";
cout << name << endl;
name[3]= 'a';
cout << name;
}
按照課本上常指標寫的,為什么會有寫入訪問權限例外啊


uj5u.com熱心網友回復:
char str[20]="chen";char* const name=str;
顯然沒有按照書上寫。
uj5u.com熱心網友回復:
你確定你的問題是問題嗎?請運行一下代碼。
char* const name=new char[6]{"hello"};
name[0]='a';
cout<<name<<endl;
uj5u.com熱心網友回復:
const 修飾緊挨它的右邊識別符號char* const str ;意思是str是只讀的,但是str指向的地址不一定是只讀的
也就是說
char* const str=new char[10];
接著再
str=new char[1];//這里不能通過編譯,因為str不能再指向別的地址
但是
str[0]='a';是可以的
其次
char* const str="hello";//這句話在比較嚴格的編譯器上是通不過編譯的,因為不能“hello”是const char* ,不能初始化char* const;二者型別不同
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/266799.html
標籤:C++ 語言
上一篇:怎么在vs2019中備注代碼
下一篇:現有3個小組,每個小組4個隊員進行投籃比賽,輸入每個隊員的投籃得分,統計輸出每個小組的總得分和每個組的最高分。(提示:定義二維陣列a[3][6],a[i][4]
