use a struct instead of a union for C++. 1 int per node is not going to be the real memory overhead.