lijgame的专栏

Footprints on the sands of time

原创 STL中注意区别表达式和函数声明收藏

新一篇: 关于Heap的一些api | 旧一篇: 解决域名、类名冲突的一个小技巧

考虑以下语句:

 std::deque<int> intDeque(std::istream_iterator<int>(std::cin), std::istream_iterator<int>());

我们的原意是想构造一个int型的deque,并用标准输入流中的int数据初始化它。

但是如果我们就这样写的话,我们会得到一大堆莫名奇妙的错误,因为这种情况下,该语句会被认为是一个函数声明。
为了消除这种歧义,我们应该这样书写:
std::deque<int> intDeque((std::istream_iterator<int>(std::cin)),(std::istream_iterator<int>()));
加上2对括号即可消除这种歧义。
 

发表于 @ 2007年04月18日 12:49:00|评论(loading...)|编辑

新一篇: 关于Heap的一些api | 旧一篇: 解决域名、类名冲突的一个小技巧

评论:没有评论。

发表评论  


登录
Csdn Blog version 3.1a
Copyright © lijgame