- c++優(yōu)點(diǎn)
- 硬件執(zhí)行速度快
- 軟件規(guī)模大、復(fù)雜度高的時(shí)候功能強(qiáng)大
- 深入的圖像處理需/深度學(xué)習(xí)需要c++,雖然Python也行
- 一般組成部分
- 預(yù)編譯指令
-
main函數(shù)
結(jié)構(gòu)組成部分
如圖, "#" 代表預(yù)編譯指令, "include"代表需要包含庫(kù),"<>"代表先在標(biāo)準(zhǔn)庫(kù)里尋找當(dāng)前庫(kù),如果找不到就在當(dāng)前文件夾找
如果換成引號(hào),代表先在當(dāng)前文件夾尋找,找不到再去標(biāo)準(zhǔn)庫(kù)里尋找

結(jié)構(gòu)組成部分
看最簡(jiǎn)單的一段代碼
#include <iostream>
int main()
{
std::cout << "Hello world!";
return 0;
}
- main函數(shù)必須返回0
- cout表示在控制臺(tái)打印輸出
- std:: 表示后面的cout是在這個(gè)命名空間里的變量。 為了簡(jiǎn)便,命名空間也可以寫在最上面,這樣就不用每次在變量名前寫
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!";
return 0;
}
- 向控制臺(tái)打印輸出
int a = 3
std::cout << "hello word"; // 輸出字符串需要加引號(hào)
std:cout<< 3; // 輸出數(shù)字不加引號(hào)
std::cout << a; // 輸出變量
std::cout << "我想輸出:" << a << "可以嗎?" << std::endl; // 連續(xù)輸出,endl表示換行
- 注釋
分兩類:
- 單行注釋 //
- 多行注釋 /* */
- 代碼風(fēng)格
- 推薦谷歌c++編碼風(fēng)格 : Google C++ Style Guide
- 編譯
- IDE內(nèi)置編譯器,eg: MAC的XCode
-
g++ c++編譯與執(zhí)行
-
打印一下各個(gè)數(shù)據(jù)類型的默認(rèn)長(zhǎng)度,做個(gè)筆記
數(shù)據(jù)類型默認(rèn)長(zhǎng)度(字節(jié)) 定義常量,即不可改變的值, 用const
const int a = 1;
- 可以自定義有限值的枚舉類型
//定義 MONTHS變量為枚舉數(shù)據(jù)類型,有后面12個(gè)值
enum MONTHS {Jan, Feb, Mar, Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec};
//定義變量 bestMonth為MONTHS這個(gè)枚舉類型
MONTHS bestMonth;
//此變量只能賦值為枚舉類型的值其中的一個(gè)
bestMonth = Jan;
如果你賦的枚舉類型的值不是其中之一,那就會(huì)報(bào)錯(cuò)

報(bào)錯(cuò)
-
格式化
- -n/std::endls 是換行
-
-t 代表tab鍵
格式化
-
可以引入一個(gè)標(biāo)準(zhǔn)庫(kù)<iomanip>, 用setw(int n)來(lái)輸出空格寬度,n代表字符寬度
setw
文件讀寫
- 文件讀寫需要引入 <stream>標(biāo)準(zhǔn)庫(kù)
- 定義一個(gè)文件流對(duì)象,將對(duì)象與文件關(guān)聯(lián)起來(lái),每個(gè)文件流類都定義了一個(gè)名為open的函數(shù),完成系統(tǒng)相關(guān)的操作,來(lái)定位給定的文件,并視情況打開為讀或?qū)懩J?/li>
- 首先定義輸入流ifstream(讀)或者輸出流ofstream(寫),如果提供文件名,則open會(huì)自動(dòng)被調(diào)用
- 樣例代碼:
# include <iostream> # include <fstream> using namespace std; int main() { string line; ofstream myfileI ("another.txt"); if(myfileI.is_open()) { myfileI << "向末尾添加一行\(zhòng)n"; myfileI << "向末尾添再加一行\(zhòng)n"; myfileI.close(); } else cout << "無(wú)法打開寫入權(quán)限的文件test.txt"; ifstream myfileO ("another.txt"); if(myfileO.is_open()) { while (getline(myfileO, line)) { cout << line << endl; } myfileO.close(); } else cout << "無(wú)法打開讀取權(quán)限的test.txt"; return 0; } - 輸出結(jié)果
向末尾添加一行 向末尾添再加一行 Program ended with exit code: 0
- 頭文件
- 一般來(lái)講,c++程序可以包含自己寫庫(kù),一般后綴為.hpp,成為頭文件
- 頭文件包含如何去做一個(gè)任務(wù)的計(jì)劃
- 主程序包含將要去做的的信息
-
舉例
原來(lái)
更改

更改
- 控制臺(tái)輸入用std::cin
- 先定義好你要在控制臺(tái)輸入的變量的類型
- 樣例代碼
using namespace std;
int main(){
int year = 0;
int age = 0;
string name = " ";
//print a message to the user
std::cout<<"What year is your favorite? ";
//get the user response and assign it to the variable year
std::cin >> year;
//output response to user
std::cout<<"How interesting, your favorite year is "<<year<<"!\n";
//print a message to the user
std::cout<<"At what age did you learn to ride a bike? ";
//get the user response and assign it to the variable age
std::cin >> age;
//output response to user
std::cout<<"How interesting you learned to ride at "<<age<<"!\n";
std::cout<<"What is your name? ";
std::cin>>name;
std::cout<<"Hello "<<name<<" !\n";
return 0;
}






