新了解到c++还有一些不太常见的初始化方式,记录一下
借助小括号、大括号。可以要等号,也可以不要等号。
如果是大括号,括号内又没有值,则赋一个默认初始值0。
如果是小括号,又忽略了等号,括号内又没有值,则会被认为是一个函数声明,会返回1.
如果不忽略等号,大括号可以为空,小括号内部为空则会报错
int t={}; //t被赋值为0
int t2=(); //报错
#include <iostream> using namespace std; int fun(){ cout<<"func f"<<endl; return 4; } int main() { // init method int a(10); int b{20}; int c={30}; int d=(40); int e{}; int f(); cout<<a<<"\t"<<b<<"\t"<<c<<"\t"<<d<<"\t"<<e<<"\t"<<f<<"\t"<<fun<<endl; cout << "Hello world!" << endl; return 0; }