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