C++初學疑問收集

來源:互聯網
上載者:User

1、_tmain()和main()有什麼區別?

用過C的人都知道每一個C的程式都會有一個main(),但有時看別人寫的程式發現主函數不是int main(),而是int _tmain(),而且標頭檔也不是<iostream.h>而是<stdafx.h>,會困惑吧?一起來看看他們有什麼關係吧  首先,這個_tmain()是為了支援unicode所使用的main一個別名而已,既然是別名,應該有宏定義過的,在哪裡定義的呢?就在那個讓你困惑的<stdafx.h>裡,有這麼兩行#include <stdio.h>#include <tchar.h>我們可以在標頭檔<tchar.h>裡找到_tmain的宏定義    
#define _tmain      main所以,經過先行編譯以後, _tmain就變成main了,這下明白了吧

2、C++中"\n"與endl的區別是什麼?

"\n"表示內容為一個斷行符號符的字串。std::endl是流操作子,輸出的作用和輸出"\n"類似,但可能略有區別。std::endl輸出一個分行符號,並立即重新整理緩衝區。例如,std::cout << std::endl;相當於std::cout << '\n' << std::flush;,或者std::cout << '\n'; std::fflush(stdout);。由於流操作符operator<<的重載,對於'\n'和"\n",輸出效果相同。對於有輸出緩衝的流(例如cout、clog),如果不手動進行緩衝區重新整理操作,將在緩衝區滿後自動重新整理輸出。不過對於cout來說(相對於檔案輸出資料流等),緩衝一般體現得並不明顯。但是必要情況下使用endl代替'\n'一般是個好習慣。對於無緩衝的流(例如標準錯誤輸出資料流cerr),重新整理是不必要的,可以直接使用'\n'。----由於直接輸入/輸出和作業系統相關,可能需要切換核心態/使用者態,需要一定的時間開銷,頻繁地進行操作會極大地降低輸入/輸出的效率,所以標準庫對流的輸入/輸出操作使用緩衝。具體來講,就是在記憶體中儲存一個大小相對固定的地區(緩衝區)用來儲存臨時的輸入或輸出。當必要時,才向系統裝置複製緩衝區的內容並清空緩衝區,這個過程稱為重新整理。

本文內容來源於:百度知道,這隻是為了自己以後查閱方便才將內容收集於此。

3、"<<"用於std::cout<<"helo c++";時表示插入運算子,而有時候也可以用作位移操作符,這種同樣的標識,不同的含義叫做運算子的重載。

4、要將資訊儲存在電腦中。必須指出資訊的儲存位置和所需的記憶體空間。如 int m;表示需要的記憶體大小為int 對應的記憶體位置用m來標識。

5、類定義資料格式和用法,而對象則是根據資料格式規範建立的實體。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.