一、類的析構函數
類的析構函數是類的一種特殊的成員函數,它會在每次刪除所創建的對象時執行。
析構函數的名稱與類的名稱是完全相同的,只是在前面加了個波浪號(~)作為前綴,它不會返回任何值,也不能帶有任何參數。析構函數有助於在跳出程序(比如關閉文件、釋放內存等)前釋放資源。
如:
#include <iostream> using namespace std; class Line { public: LineExtraction(); // 構造函數聲明 ~LineExtraction(); // 析構函數聲明 private: double length; };
二、uint8_t 、uint16_t 、 uint32_t 、uint64_t的頭文件
#include<cstdint>
三、Terminal直接編譯.cpp文件
通過 -o 選項指定可執行程序的文件名
g++ helloworld.cpp -o helloworld
在命令行中輸入程序名可使之運行:
./helloworld
hello,world
多個源文件生成可執行文件
g++ helloworld.cpp hello.cpp -o hello
*C11環境下編譯:
g++ helo.cpp -std=c++11 -o hello
四、C++中使用π值
調用頭文件:
#include <cmath>
定義PI(π)值
#define PI acos(-1)
或者
const double PI=acos(-1);
五、弧度和角度的相互轉化
弧度=度×π/180°
度=弧度×180°/π
六、變量前加*或者&的區別
1、*介紹
變量前加*號,只有在變量為指針情況下才是合法的。當*用於定義時,是標明該變量為指針類型。除此以外,*的作用是取值。C++中的指針可以理解為一個地址的值,*用於取值時就是取出改地址中存儲的值。
2、&介紹
兩個作用:一個起地址符作用,一個是引用。
&是取址符號。但&也可以有另一個用法,就是是其它變量的別名,如int &a=b;此時a就是b,b就是a,改變a的值也就改變了b的值。但聲明時必須初始化,不能空聲明,如:int &a是錯的,int &a = b則可以。
七、extern "C"的作用
1、C++調用C語言代碼;
2、在C++的頭文件中使用;
3、在多人協同開發時,可能有的人擅長C++,有的人擅長C,這時候也有可能會用到。
八、結構體類型變量的定義方法及初始化
(1)定義結構體變量的方法:
1、先聲明結構體類型再定義變量名;
2、在聲明類型的同時定義變量名;
3、直接定義結構體類型變量名;
關於結構體的類型需要注意的幾點:
1、類型與變量是不同的概念,不要混淆;
2、對結構體變量中的成員,也可以單獨使用,它的作用與地位相當於同類型的普通變量;
3、結構體的成員也可以是一個結構體變量;
4、結構體中的成員名可以與程序中的變量名相同,但二者沒有相同的關系。
(2)結構體變量的初始化
1、在定義結構體時對結構體變量指定初始值;
2、在定義變量時進行初始化
(3)結構體變量的引用
在定義結構體變量之后就可以引用這個變量。
1、引用結構體變量中的一個成員的值
引用方式:結構體變量名.成員名
其中"."是成員運算符,是所有運算符中優先級最高的。
2、可以將一個結構體變量的值賦給另外一個具有相同成員的結構體變量;
3、可以引用結構體變量的地址,也可以引用結構體變量成員的地址。
九、size_t類型的定義
size_t和unsigned int有所不同,size_t的取值range是目標平台下最大可能的數組尺寸,一些平台下size_t的范圍小於int的正數范圍,又或者大於unsigned int。
十、iterator和const_iterator的區別
iterator,const_iterator作用:遍歷容器內的元素,並訪問這些元素的值。iterator可以改元素值,但const_iterator不可改
https://blog.csdn.net/misayaaaaa/article/details/53786215
https://blog.csdn.net/u013779722/article/details/78418294
