官方sample
編譯方式
如果不寫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 為空指針常量。是指針類型
}