3 回答

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
運(yùn)算符重載可以做任何事情,沒(méi)有任何規(guī)則所只要是地址打印出就是地址。而且char*是特殊的,從來(lái)沒(méi)有在哪輸出過(guò)地址
運(yùn)算符重載,不是int/char不同,而是重載后int*和char*不同
sizeof("hello"),這是唯一的辦法,賦值給指針后只能用strlen,不能用sizeof
同樣,不要總想著參數(shù)是地址,輸出也是地址,如果這樣,高級(jí)語(yǔ)言就太無(wú)用了

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
1.因?yàn)?iostream內(nèi)部 cin cout 對(duì)char* 做了特殊處理.......因?yàn)閏/c++ 輸入輸出字符串通常要用到char*
如果直接輸出地址,就要用別的方法來(lái)輸出字符串了 就不方便了.....所以直接輸出地址 那里放著的字符串......
3、sizeof("hello");得到 字符串實(shí)際長(zhǎng)度 + \0 占的一個(gè)字節(jié)
一般用strlen函數(shù).......
同 1、2,str數(shù)組名 是 char* 地址

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
1、這是cout(const char *)函數(shù)的定義。為方便處理字符串。
2、字符串是數(shù)組,int只是一個(gè)數(shù);
3、include <string.h>
4、同1.
- 3 回答
- 0 關(guān)注
- 148 瀏覽
添加回答
舉報(bào)