(희망적으로) 우리 모두가 알고 있듯이 vector<bool>
완전히 깨져서 C 배열로 취급 될 수 없습니다. 이 기능을 얻는 가장 좋은 방법은 무엇입니까? 지금까지 내가 생각한 아이디어는 다음과 같습니다.
vector<char>
대신 사용 하거나- 래퍼 클래스를 사용하고
vector<bool_wrapper>
이 문제를 어떻게 처리합니까? c_array()
기능이 필요합니다 .
부수적 인 질문으로, c_array()
방법이 필요하지 않은 경우 임의 액세스가 필요한 경우이 문제에 접근하는 가장 좋은 방법은 무엇입니까? 데크 나 다른 것을 사용해야합니까?
편집하다:
- 동적 크기 조정이 필요합니다.
- 모르는 분들을 위해,
vector<bool>
각각bool
1 비트를 취 하도록 특화되어 있습니다. 따라서 C 스타일 배열로 변환 할 수 없습니다. - 나는 "래퍼"가 약간 잘못된 이름이라고 생각한다. 나는 다음과 같이 생각하고 있었다.
물론 my_bool
정렬 문제로 인해를 읽어야 합니다.
struct my_bool
{
bool the_bool;
};
vector<my_bool> haha_i_tricked_you;