在new对象的时候有加上(),有不加(),不知道这个到底是什么区别?比如:CBase *base = new CDerived();CBase *base = new CDeviced; 很多人都说,加括号调用没有参数的构造函数,不加括号调用默认构造函数或唯一的构造函数.这是有问题的. 对于自定义类类型: 如果该类没有定义构造函数(由编译器合成默认构造函数)也没有虚函数,那么class c = new class;将不调用合成的默认构造函数,而class c = new class();则会调用
ref:http://m.blog.csdn.net/blog/u012745772/42420443 在new对象的时候有加上(),有不加(),不知道这个到底是什么区别?比如:CBase *base = new CDerived();CBase *base = new CDeviced; 很多人都说,加括号调用没有参数的构造函数,不加括号调用默认构造函数或唯一的构造函数.这是有问题的.对于自定义类类型: 如果该类没有定义构造函数(由编译器合成默认构造函数)也没有虚函数,那么class c =
function test(){ return 1;}var a=test;console.log(a);//输出[Function: test]var b=test();console.log(b);//输出1 函数名是一个对象,而对象是保存内存中,函数名是指向这个对象的指针. var a=test便是这个函数对象的指针给a. var b=test()后面加上圆括号就表示立即调用,范围函数的返回值.还可以在函数体后面加圆括号表示立即调用.————————————————版权声明:本文为CSDN