C++編程思想

來源:互聯網
上載者:User

標籤:

1.聲明和定義

  聲明是相編譯器介紹名字-標識符,它告訴編譯器“這個變數或函數在某處可以找到,它的模樣”。而定義是說:“在這裡建立變數”或“這裡建立函數”,為變數和函數分配儲存的空間。

2.語言的翻譯

  任何電腦語言都要從某種人們容易理解的形式(來源程式)轉換成為機器理解和執行的形式(機器指令),編譯器和解譯器是兩種翻譯工具。

3.連結的順序

  因為連結器按照順序尋找檔案,所以,如果使用者自訂與庫函數相同名稱的函數,把帶有這個函數的檔案插入到庫函數檔案名稱列表之前,就能使用自訂的函數替代庫函數。這有可能是個bug,C++名字空間禁止這樣。當建立一個C/C++可執行程式時,連結器會秘密的鏈家某些模組。其中之一就是啟動模組,它包含了對程式初始化的常式,初始化常式是C/C++程式執行時必須首先執行的程式,它主要建立堆棧並初始化程式中的某些變數。

  標準庫中只需要添加標頭檔就行,應為庫檔案總是能找到的。如果使用附件的庫檔案,則必須把對應的檔案添加都連結器的尋找檔案清單中。

4.整個C的庫預設的包含在C++標準庫中。

5.iostream類可以從檔案、標準的輸入輸出裝置(通常指控制台,但也可重新導向到檔案和裝置)讀取和寫入資料。

6.操作符重載,<<和cout對象在一起就是“發送到”,和整數在一起就是“左移”。

7.名字空間  C語言的所有函數和變數名都在同一個空間裡,大的工程,幾個人共同開發是,命名得非常小心。C++通過namespace關鍵字解決了這個問題,所有的C++標準庫的名字都分裝在同一個空間std中。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.wchar_t和char16_t、char32_t區別:後兩個是最新的標準添加。

#include <iostream> int main(){    wchar_t ch = ‘高‘; //寬字元  char16_t和char32_t是C11新添,本機不支援    std::cout << ch << std::endl;     return 0;}

 2.Hello world!

  

#include <iostream>using namespace std;    //範圍? int main(){    cout<<"Hello World!I am "    <<8<<"Today!"<<endl;         return 0;}

  

E:\myDocuments\GUN\C++>g++ Demo.cpp -o  Demo.exe

E:\myDocuments\GUN\C++>Demo.exe
Hello World!I am 8Today!

E:\myDocuments\GUN\C++>

3.輸入輸出資料流:對於資料輸出有多重格式

  

#include <iostream>using namespace std;    //範圍? int main(){       cout<<"A number in decimal "    <<dec<<15<<endl;        //十進位 dec<<15    cout<<"A number in octical "    <<oct<<0x0F<<endl;        //八進位    oct<<15    cout<<"A number in hexadecimal "    <<hex<<15<<endl;        //十六進位  hex<<15        cout<<"A float number "    <<3.14159268<<endl;            //多少精度?        cout<<"Non-printing char(escape) "    <<char(0x1B)<<endl;                int number;    cout<<"Enter a number "<<endl;            cin >> number;                //預設輸入的為十進位    cout<<"value in octical = 0"    <<oct<<number<<endl;    cout<<"value in hexadecical = 0x"    <<hex<<number<<endl;        return 0;}

E:\myDocuments\GUN\C++>Demo.exe
A number in decimal 15
A number in octical 17
A number in hexadecimal f
A float number 3.14159
Non-printing char(escape)
Enter a number
15
value in octical = 017
value in hexadecical = 0xf

E:\myDocuments\GUN\C++>

4.調用其他程式:標準C語言的system()函數,C/C++可以調用任何程式,system()在標頭檔cstdlib(從原來的stdlib而來)。

  

#include <cstdlib>using namespace std;    //範圍? int main(){   //    system("Hello");/*E:\myDocuments\GUN\C++>Demo.exe‘Hello‘ 不是內部或外部命令,也不是可啟動並執行程式或批次檔。E:\myDocuments\GUN\C++>*/        /*        功 能: 發出一個DOS命令        用 法: int system(char *command);    */    system("dir");        return 0;}/*輸出:結果和直接在命令列下面輸入一個dir(列出當前目的下檔案)一樣的效果E:\myDocuments\GUN\C++>g++ Demo.cpp -o  Demo.exeE:\myDocuments\GUN\C++>Demo.exe 磁碟機 E 中的卷是 DATA 卷的序號是 EC10-1C79 E:\myDocuments\GUN\C++ 的目錄2015-08-25  11:21    <DIR>          .2015-08-25  11:21    <DIR>          ..2015-08-25  10:41           496,719 a.exe2015-08-25  11:21               341 Demo.cpp2015-08-25  11:21            15,883 Demo.exe2015-08-21  09:52               111 GUN.bat               4 個檔案        513,054 位元組               2 個目錄 81,164,349,440 可用位元組E:\myDocuments\GUN\C++>dir                                        --------直接輸出dir命令 磁碟機 E 中的卷是 DATA 卷的序號是 EC10-1C79 E:\myDocuments\GUN\C++ 的目錄2015-08-25  11:22    <DIR>          .2015-08-25  11:22    <DIR>          ..2015-08-25  11:21               341 Demo.cpp2015-08-25  11:21            15,883 Demo.exe2015-08-21  09:52               111 GUN.bat               3 個檔案         16,335 位元組               2 個目錄 81,164,349,440 可用位元組E:\myDocuments\GUN\C++>*/

 

C++編程思想

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.