vector<int> l;
for(int i=0;i<10;i++){
l.push_back(i);
}
我想要矢量只能存储指定范围(或集合)中的数字。 一般情况下可以这样做吗?如何限制C++ STL向量元素的范围?
特别是,我想限制载体只能存储单个数字。所以,如果我做了l[9]++
(在这种情况下l[9]
是9
),它应该给我一个错误或警告我。 (因为10
不是单个数字号码)。同样,l[0]--
应该警告我。
有没有办法做到这一点使用C + + STL vector
?
你似乎在这里困惑。矢量内的元素的值与矢量本身无关。 'l [9] ++'很可能等于2,例如,如果'l [9]'之前是1。你的例子中的0和9只是数组中的索引,并且与这些索引处的值无关。 – GManNickG 2010-04-13 14:13:41
在示例代码中,'l [i]'用'i'初始化,所以我可以理解'l [9] ++'语法作为递增一个已经为'9'的元素的简写。这不是最明确的方式,因为它会导致混淆,虽然 – 2010-04-13 14:21:47