看來我找到了一些常量的類型,我宣佈(通常是整數,但像琴絃偶爾其他東西)是不是正在使用它在上下文中的理想型,需要轉換或導致編譯器警告隱式轉換。C++所以在比較經常基地挑選一個類型恆定
E.g.在一段代碼中,我有類似下面的內容,並得到了簽名/未簽名的比較問題。
static const int MAX_FOO = 16;
...
if (container.size() > MAX_FOO) {...}
我一直在想,只是一直允許使用一個給定不變的最小/最基本的類型(例如字符,無符號的字符,爲const char *等,而不是說INT,爲size_t和std ::字符串),但想知道這是否是一個好主意,並且如果有一些地方可能會是一個非常糟糕的主意?例如代碼使用「自動」關鍵字(或者可能是模板)得到一個太小的類型和溢出似乎是一個安全的操作?
尺寸一般是無符號的,這就是爲什麼有既是無符號'size_t'和簽名的'ssize_t'。 –
對於容器大小,我酌情使用'auto'或'ContainerType :: size_type'。 –