-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 같다 .더블 엑스.
제 질문은 언제, 왜 __align_it이 __new_size가 아닌 다른 것을 반환하는지입니다.
다양한 값을 __align_it()에 전달하는 샘플 코드를 작성하고 반환되는 샘플 코드를 표시하는 이유는 무엇입니까? 그것은 아주 분명해야합니다. –
좋아요, 내가 잊어 버린 것처럼 보입니다 +가 & 연산자 앞에 있기 때문에 정렬됩니다. 내 잘못이야. –