cout 本身是ostream物件,ostream類過載了《操作符,如下:
因此實際輸出到控制台的資料依賴於《的右邊的值的型別,編譯器根據不同的型別選擇不同的函式。
stackoverflow有一段說的特別好:
下面是乙個例子:
int
main
() const
char x = *(*(vec.begin()));
cout
<< x << endl;
char a = "hello";
cout
<< *a << endl;
cout
<< a << endl;
return0;}
複製**
輸出:
CString裝換成const char 的問題
cstring裝換成const char 有兩種情況 1.字串為ansi字串 在這種情況下,只需用lpcwstr getbuffer intnminbuflength 函式將cstring型別轉換成lpctstr型別,ansi情況下,lpctstr 就是 const char 例如 cstring ...
關於this的理解
this是乙個關鍵字,它不允許更改或者賦值,任何函式只要作為方法呼叫時實際上都會傳入乙個隱式的實參 這個實參是乙個物件,方法呼叫的母體就是這個物件 this 1.當函式作為乙個方法呼叫時 呼叫的母體就是該物件 2.當作普通函式呼叫時 呼叫的母體是window 3.閉包裡面的this var obj ...
關於getchar的理解
最近在看k r的c語言程式設計,看到有個地方很不是理解,查閱了較多的資料後才恍然大悟,記錄一下先。程式是比較常見的從控制台獲得一行,並返回這行的長度。程式如下 int getline char s,int lim 開始對getchar這個函式不是很理解,為什麼每次迴圈都讀取乙個 char 既然我是個...