#include
#include
using namespace std;
class A{
};
class B : public A {
};
template
class shared_ptr{
public:
template
shared_ptr(Y y){
cout<<"shared_ptr default consturctor 1"<
shared_ptr(shared_ptr const& r){
cout<<"shared_ptr consturctor"<
shared_ptr& operator=(shared_ptr const& r)
{
}
};
转自此链接中详细分析了,创建对象时的各种带括号和不带括号的情况;其中就讲述了,
如下main函数中shared_ptr c(); //什么也不输出,但是没有任何打印的原因。这里是一个函数;
https://www.cnblogs.com/lvvou/p/14974734.html
int main() {
B b;
shared_ptr c;//输出shared_ptr default consturctor 2
shared_ptr c(); //什么也不输出,但是没有任何打印,因为相当于定义了一个返回值shared_ptr,且不带参数的函数
function
//shared_ptr b;
//shared_ptr a(b);
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)