想判斷一個shared_ptr是否為空,去http://en.cppreference.com/w/cpp/memory/shared_ptr鏈接找了接口函數,未發現接口判斷是否為空。
最后發現很簡單,可以直接用if判斷來實現。經@egmkang指出是重載了operator bool。
std::shared_ptr<cv::Mat> pMat(
new cv::Mat);
if (!pMat)
{
std::cout << " error " << std::endl;
}
else
{
std::cout << " correct " << std::endl;
}
if (!pMat)
{
std::cout << " error " << std::endl;
}
else
{
std::cout << " correct " << std::endl;
}