天天看點

GoogleTest

官方sample

GoogleTest

編譯方式

如果不寫main函數需要加上-lgtest_main 連結libgtest_main.a庫

例案例1:測試計算N階階乘和判斷質數的函數

g++ sample1_unittest.cc sample1.cc -o sample -I ./ -lgtest -lpthread -lgtest_main

Googlemock

libgtest.a API實作

Googlemock依賴Googletest

如果項目當中使用了googlemock那麼就不需要連結googletest了

libgmock.a已經包含libgtest.a了

nullptr是一個字面值常量,類型為std::nullptr_t,空指針常數可以轉換為任意類型的指針類型。

在c++中(void *)不能轉化為任意類型的指針,即 int p=(void)是錯誤的,但int *p=nullptr是正确的,原因

對于函數重載:若c++中 (void *)支援任意類型轉換,函數重載時将出現問題下列代碼中fun(NULL)将不能判斷調用哪個函數

void fun(int i){cout<<"1";};
void fun(char *p){cout<<"2";};
int main()
{
	fun(NULL);  //輸出1,c++中NULL為整數0
	fun(nullptr);//輸出2,nullptr 為空指針常量。是指針類型
}
           
上一篇: CMAKE入門

繼續閱讀