关于C++中对于括号解释的问题。
如果有:
vector<string> ar01;//创建一个名为ar01的vector<string>空数组,没有任何元素。
vector<string>();//创建一个无名的vector<string>空数组,为临时数组,没有任何元素。
那么:
vector<string> (ar01);//这个怎么解释????
//使用对象ar01,调用复制构造函数构造一个无名的vector<string>空数组?
//强制类型转换??
C++对于括号的解释有时真的感到混乱。
然而以上的解释都不对,编译器将其解释为仅仅在vector ar01基础上添加了一个圆括号,仅此而已,和vector ar01意义相同,所以导致ar01重定义,编译错误。
哪位同学阐述一下编辑器对于圆括号的解释。