C++의 데이터 구조 및 알고리즘 4th Edition, Adam Drozdek 저서를 읽었으며 다음 코드를 발견했습니다. 제 질문은 콜론이 unsigned int successor : 1;
에서 무엇을하는지입니다. 콜론이 successor
을 1 비트 만 사용한다고 대답했습니다. 그러나 부울 변수는 변수의 주소 지정이 가능해야하기 때문에 바이트의 배수를 차지한다는 것을 알고 있습니다. successor
이 1 비트 만 사용하는 경우 어떻게 주소 지정이 가능합니까?다음 C++ 코드에서 콜론은 무엇입니까?
template<class T>
class ThreadedNode {
public:
ThreadedNode() {
left = right = 0;
}
ThreadedNode(const T& e, ThreadedNode *l = 0, ThreadedNode *r = 0) {
el = e; left = l; right = r; successor = 0;
}
T el;
ThreadedNode *left, *right;
unsigned int successor : 1;
};
누군가는 그들이 무엇을하고 있는지 전혀 몰랐습니다. 이 장소의 비트 필드는 절대 쓸모가 없습니다. – SergeyA