-2
我正在閱讀CPP的STL代碼來找出一些東西。我到達矢量頭文件中的函數,該函數是:什麼時候以及爲什麼這個函數會返回別的東西
static size_type __align_it(size_type __new_size) _NOEXCEPT
{return __new_size + (__bits_per_word-1) & ~((size_type)__bits_per_word-1);};
SIZE_TYPE是爲size_t,並且__bits_per_word是:
static const unsigned __bits_per_word = static_cast<unsigned>(sizeof(__storage_type) * CHAR_BIT);
我的編譯器和鏗鏘的版本就像是鐺-800.x .XX。
我的問題是,什麼時候和爲什麼__align_it會返回比__new_size更多的東西。
爲什麼不寫一些示例代碼,將各種值傳遞給__align_it(),並顯示它返回的內容。它應該是相當明顯的。 –
好吧,看起來我忘記了+會在&operator之前完成,所以它是一致的。我的錯。 –