c++类型转换运算符

有这么几行代码: 这是默认的shared_ptr中保存的是一个空指针。第二个输出结果为00000000我可以理解,shared_ptr重载了<<操作符,最终调用的是shared_ptr里面的_Px.get()。 第一个输出结果为false我就不理解了。虽然默认的shared_ptr中保存的是空指针,但是shared_ptr对象本身不为空,为什么行为跟空指针一样呢,if判断shared_ptr对象竟然是false,这背后肯定做了什么。 代码跳转到shared_ptr代码的定义,没有发现什么。只好反汇编一下if(p)的代码。反汇编显示调用的是std::shared_ptr<int>::operator... Read More | Share it now!