首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++_new对象括号和不加括号的区别

//blog.csdn.net/a2796749/article/details/46908035 总结起来就是: 如果在使用new在堆上开辟某一类型的空间的时候 如果是非自定义类型(int等),后面括号的话...,就以为了进行初始化,如果括号内有参数,就初始化为参数,如果没有参数(就是只有括号,什么都没有),就初始化为0 如果是自定义类型(类、结构体),后面加了括号的话,说明调用构造函数(也是初始化) 首先回顾一下关于构造函数的知识...如果用户自定义了默认构造函数,系统就会用用户自定义的默认构造函数(有的资料称这是过程是系统合成构造函数,就是将用户自定义的构造函数设为默认构造函数) 如果new的对象类型后面括号的话,分为带参数和不带参数...,如果类中用户自定义了带参数的构造函数,就可以在括号里带参数进行初始化;不带参数的话,如果用户自定义了默认构造函数,new创建出的对象就会调用默认构造函数进行初始化,如果用户没有自定义默认构造函数,系统就会调用系统默认构造函数对...如果不加括号,用户自定义了默认构造函数,new创建对象的时候会调用自定义的默认构造函数;用户没有自定义默认构造函数,new创建的对象就不会初始化 ==总结:== 括号一定会进行初始化; 不加括号,自定义了默认构造函数会初始化

47120

cssjshtml js 函数不加括号的区别

结论: 函数只要是调用它进行执行的,都必须括号。此时,函数()实际上等于函数的返回值。...当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要括号的,就代表将会执行函数体代码。...不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。...细解: 所以一般时候我们都是采用的是无括号的原因。这也是由于括号的二义性,因为括号是“函数调用运算符”,相当于在执行这样一个函数,所以产生的问题在理解了之后也就理解了。...另外:除了两边不加括号,也可以两边都括号来实现函数的拷贝,而不是执行函数,如果左边无圆括号右边有圆括号,实际就是相当于产生的是一个属性而不是一个方法了,在调用的时候只用属性名或者函数名,而不需要再用函数调用运算符圆括号

3K10
您找到你想要的搜索结果了吗?
是的
没有找到

代码之间为什么空格?

据我观察,大多数人写代码喜欢在符号两侧空格,而且还会嘲讽不加空格的人。这些支持者认为,空格可以让代码美观,增强代码的可读性。但是我不喜欢空格,因为这么写对代码含义没有影响,浪费空间还很麻烦。...在我写代码的前一两年里,写代码也不习惯空格,觉得很麻烦,并且不加空格,真的不影响代码的运行效果。...但我就特别讨厌一些题目,让标点符号断句的那些,很无聊。 所以,别任性,该加空格就空格,你写的代码可不只是给你一个人看的,负责任点。 换句话说,我也可以写文章不换行,对吧?...不过,需要注意一点的是,我看有些视频课里,有些讲课人习惯什么地方都空格,我也是有点受不了的,比如说方法名和小括号之间——public void print (),这就有点不合时宜了。...按照规约来说,方法名和小括号之间是不需要空格的,因为没有空格看起来更自然,更像一个方法,而不是割裂的关键字和小括号

1.2K20
领券