第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么將“指向非const的指針”轉(zhuǎn)換為“指向const的指針”是不合法的?

為什么將“指向非const的指針”轉(zhuǎn)換為“指向const的指針”是不合法的?

C++
溫溫醬 2019-07-08 12:37:24
為什么將“指向非const的指針”轉(zhuǎn)換為“指向const的指針”是不合法的?它是將指針到非Const轉(zhuǎn)換為指針到Const的合法行為。那么,為什么轉(zhuǎn)換指向非連續(xù)的指針轉(zhuǎn)到指向Const的指針?例如,為什么下列代碼是非法的:char *s1 = 0;const char *s2 = s1;  // OK...  char *a[MAX]; // aka char **  const char **ps = a; // error!
查看完整描述

3 回答

?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

從標(biāo)準(zhǔn):


const char c = 'c';

char* pc;

const char** pcc = &pc;   // not allowed

*pcc = &c;

*pc = 'C';                // would allow to modify a const object


查看完整回答
反對(duì) 回復(fù) 2019-07-08
?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊

忽略代碼并回答問(wèn)題的原則,請(qǐng)參閱comp.lang.c常見(jiàn)問(wèn)題中的以下條目:為什么我不能將char*傳遞給期望const char*的函數(shù)?

不能分配char **值到const char **指針有點(diǎn)模糊。鑒于const存在限定符,編譯器希望幫助您遵守不修改的承諾。const價(jià)值。這就是為什么您可以分配一個(gè)char *轉(zhuǎn)到const char *,但事實(shí)并非如此:“添加”顯然是安全的。const-指向一個(gè)簡(jiǎn)單的指針,但把它拿走是危險(xiǎn)的。但是,假設(shè)您執(zhí)行了以下更復(fù)雜的一系列任務(wù):

const char c = 'x';    /* 1 */char *p1;              /* 2 */const char **p2 = &p1; /* 3 */*p2 = &c;             
 /* 4 */*p1 = 'X';             /* 5 */

在第3行中,我們分配了一個(gè)char **轉(zhuǎn)到const char **..(編譯器應(yīng)該會(huì)抱怨。)在第4行中,我們分配了一個(gè)const char *轉(zhuǎn)到const char *這顯然是合法的。在第5行中,我們修改了char *指向-這應(yīng)該是合法的。然而,p1最后指向c,也就是const..這發(fā)生在第4行,因?yàn)?/trans>*p2是真的p1..這是在第3行中設(shè)置的,它是不允許的表單的賦值,這正是不允許第3行的原因。

當(dāng)你的問(wèn)題被標(biāo)記為C+而不是C時(shí),它甚至解釋了const改為使用限定符:

(C+有更復(fù)雜的規(guī)則來(lái)分配Const限定的指針,這些規(guī)則允許您在不引起警告的情況下執(zhí)行更多類型的賦值,但仍然可以防止無(wú)意中修改Const值的嘗試。C+仍然不允許分配char **轉(zhuǎn)到const char **,但它可以讓您通過(guò)分配char **轉(zhuǎn)到const char * const *.)


查看完整回答
反對(duì) 回復(fù) 2019-07-08
  • 3 回答
  • 0 關(guān)注
  • 1230 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)