请问老师能否详细讲一下创建对象时,带括号,不带括号,以及传参和不传参数时候的区别?

来源:8-7 标准输入输出IO重载

Osuribaba

2020-03-29

请问老师,我写了几个demo如下:
图片描述
其中对于 int4和int5的行为不是很理解,为啥不加括号就是0 加了括号就是1呀?
然后在mac下它是这样的行为,但是在windows下如果直接 cout << int4 或 cout << int6 就会报错
图片描述
这是不同平台下不同编译器造成的吗?

然后还有个问题是我写了个自定义的class Test
图片描述

之后初始化
图片描述
请问老师应该怎么理解上面的test1和test2这种加不加括号的区别?

写回答

1回答

quickzhao

2020-03-29

加括号是函数(你这里的两个int5和test2都只是函数声明,没有实现,没有意义),不加括号是变量;没有初始化的变量在不同平台初始值可能不一样,栈内没有初始化的变量可能编译报错。

0
1
Osuribaba
非常感谢!
2020-03-29
共1条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程