我應該把一個int數組與其他數量不同?我的意思是我可以用作標誌的東西。我可以使用null我可以在C++中用作int數組中的標誌嗎?
0
A
回答
2
NULL
並不特殊。當分配給int
時,NULL
簡單地被評估爲0
。
一個int
只能包含整數值。 int
上沒有「開/關」位來指示它是否有值。一個int
總是有一個值(有時未初始化的,但那是另一回事)
無論你是否可以使用NULL
(因此0
)作爲一個特殊的標誌取決於你和你的計劃。是0
這個int
的合法值嗎?如果是這樣,你就不能使用它。你必須找到另一種方式。
另一種方法是使用來自Boost的optional
之類的東西。 optional
是一個類模板,可以包含您的int
。它還包含一個布爾標誌,指示它是否「具有」int
值。下面是一個示例使用情況:
optional <int> v; // not initialized yet
assert (!v); // assert that it hasn't got a value yet
v = 41; // now give it a value
assert (v); // assert that is has a value now
const int savedValue = *v; // get the assigned value
assert (savedValue == 42);
如果你沒有或者不想升壓的optional
here is an implementation一個小測試工具一起。
1
只有您可以通過確定哪個值(s)永遠不能在你的應用程序中「有效」。
在C++中,表達NULL
是不是一個神奇的「這個沒有價值」的東西—有時是等同於0
但即便如此,不一定是你的應用程序中的「無效」值。
這可能是因爲您最好用另一種方式標記未使用的索引,或者使用未使用的索引列表,或者使用像std::set
這樣的容器,並且首先不要使用未使用的值。
相關問題
- 1. 我們可以在C中的數組中使用數組嗎?
- 2. 我們可以在C++中創建一組數組嗎?
- 3. 我可以在C中使用一個void指針作爲數組嗎?
- 4. int數組在C/C++中
- 5. 我可以在C#中使用NetUserGetInfo嗎?
- 6. 我可以在C++中使用MiGLayout嗎?
- 7. 我可以在cgo中使用C++嗎?
- 8. 我可以在C++中使用UDK嗎?
- 9. 我可以將這些過濾器標誌放入數組中嗎?
- 10. 我可以在C函數中使用變量聲明嗎? int f(),i;
- 11. 我可以在ActionScript 2/3中訪問編譯標誌嗎?
- 12. 我可以使用線程的名稱作爲自定義中斷標誌嗎?
- 13. 我可以在數組中設置多個Codeigniter Where標準嗎?
- 14. 我們可以在c#.Net中創建哈希表數組嗎?
- 15. 我可以在C中創建一個Char指針數組嗎?
- 16. 我可以在JavaScript中模擬C類指針數組嗎?
- 17. C中的alarm(int)可以覆蓋sleep(int)嗎?
- 18. 我可以在android中聲明android:id作爲數組嗎?
- 19. 我可以將可繪製的int ID存儲在XML中嗎?
- 20. 我可以在C++ Builder中啓用/ diable斷點組嗎?
- 21. 我可以通過C++中的值返回一個數組嗎?
- 22. 我可以在C中訪問指針作爲二維數組嗎?
- 23. 我們可以在SFML/C++中製作一個精靈數組嗎?
- 24. C#的int標誌枚舉
- 25. 可以使用數組參數從Fortran中調用標量C函數嗎?
- 26. 我可以在Ruby中顯示系統調用的日誌嗎?
- 27. typedef int - >整數。我可以做cout->在C++中打印嗎?
- 28. 我可以在SQL中用作內部標識符嗎?
- 29. 我可以在C99中使用數組作爲函數參數嗎?
- 30. 我可以在LESS mixin中使用CSS psuedo-class的數組嗎?
什麼樣的整數將被存儲在數組中?你爲什麼需要一面旗幟? – BlackJack
您計劃在陣列中存儲的值的範圍是多少?如果範圍是未知的,那麼選擇一個數字可能是個壞主意。 –
我使用這個數組作爲包含所有數字的計算器。我想要一個標誌,顯示數字後面有+, - 或*等符號。 – zahra