을 개별적으로 사용할 수 있습니다. 개별 비트 필드를 사용하여 8 가지 bool 값의 값을 집합 적으로 나타낼 수있는 방법과 각 비트를 설정하십시오.어떻게 효과적으로 다음과 같은 목적으로 Bitfields를 사용할 수 있습니까? 효율적인 메모리 관리를 배우기 위해
이유는 수천 줄의 붙여 넣기 때문에 붙여 넣지 않을 자체 프로그램에 있습니다. 클래스 전역 범위 안에 100 개 정도의 bool이 모두 필요합니다. 이것은 FPS에 큰 영향을줍니다.
예 :
uint8_t b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1;
if (!b0) {
// do something
b0 = true;
}
비트에 액세스하는 것은 쉬운 일이 아니며 코드 복잡성이 증가하고 종종 속도가 증가하는 공간을 절약하는 동안 유의하십시오. – NathanOliver
또한 std :: vector은 각 값에 대해 1 비트 만 사용하도록 특수화되어 있으므로 작업이 이미 완료되었습니다. –
비트 조작 만하면됩니다. 디지털 로직 기억 나니? 켜기/끄기 (XOR). 'b0^= 1'은 그것을 켜거나 끕니다. – jiveturkey