假設這是用於32位應用程序。我有兩個ID值一起唯一標識一個特定的對象。每個ID是一個普通的32位int,所以爲了識別任何特定的對象,我需要將兩個ID值保持在一起。結構與int64值
,想到的第一個解決方案是將它們作爲兩個獨立的價值觀,並在結構通過他們周圍:
struct {
int id1;
int id2;
};
然而,這將是很好,如果我可以通過他們周圍的單值而不是結構對,正如我僅在一個32位ID值時所做的那樣。
所以,另一個想法是將它們存儲爲uint64_t的上下兩半。
我的問題是,這兩種方法之間有沒有真正的區別?無論哪種方式,傳遞相同數量的字節,但我不知道是否有任何特殊的開銷int64,因爲CPU本身不處理64位值。
「*想到第一個解決方案... *」解決什麼問題? – ildjarn
struct *是一個單一的值。正如你所說,你必須通過任何方式傳遞8個字節。 –
@ildjarn可能要傳遞兩個ID,我想這是問題的其餘部分所暗示的。 –