如同毒药一样的c++语法

看这样一段代码

template <class t>
struct print{
 void operator()(const t& a){
    cout<<a<<"\n";
}
},

int main(){
  int ia[6] = {1,2,3,4,5,6};
  for_each(ia.begin(),ia.end(),print<int>());    
}

此处时构造了一个print<int>的临时对象,不是调用Operator()。

类似这样容易让人分不清的语法其实还蛮多的,还有就是Placement new,将变量声明解释成方法等等

posted @ 2023-01-02 09:11  heisse  阅读(16)  评论(0编辑  收藏  举报