[英]int vs unsigned int vs size_t
從更高級的C ++課程開始,我們必須實現自己的矩陣,這對於首次練習來說是典型的。 我們收到了要處理的基本信息,我只剩下一個問題。 訪問類型和大小變量。
這里是1D矩陣的簡單構造函數,並進行了大小檢查。
Array::Array( int xSize )
{
CHECK_MSG(xSize > 0, "Array size too small");
array_ = new real[xSize];
size_ = xSize;
}
使用size_t或unsigned int代替int是否有意義? 閱讀size_t的定義后,我傾向於改用它。 但是,在許多代碼中,我到處都只能看到整數。 它是一種類似Java的編碼風格嗎? 我錯過了size_t的缺點嗎?
編輯:
主要問題與編碼風格有關。 我完全理解size_t和(unsigned)int的區別,正如這里已經解釋過的: unsigned-int-vs-size-t
C ++標准庫幾乎可以肯定將std::size_t
用於此類類型。
使用帶signed
類型顯然是不希望的,並且理想情況下,您希望使用一種非常適合於擁有支持可迭代性的對象的類型。
從一開始我建議您使用typedef std::size_t MySize;
在課堂上,主要是為了適應未來。 那將是最明智的選擇。
事物的大小可以為負嗎? 否,因此對xSize
使用unsigned
可以更明確地表達代碼的意圖。
如果您需要能夠處理很大的尺寸,請使用size_t
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.