![]() |
1
5
使用boost::variant或boost::any。当你不得不合并非豆荚时,联合不是一个解决方案。 |
![]() |
2
1
不要使用gregorian::date,而是存储一个greg_ymd结构,并使用year_month_day()方法将日期转换为ymd。 |
![]() |
3
0
你是说你不能把boost::gregorian::date放在union中,因为它是非POD类型的?C++0X放宽了这种限制。如果您得到gcc 4.6并使用-std=c++0x构建它,那么您可以将它放在一个联合体中。请看这里: http://en.wikipedia.org/wiki/C%2B%2B0x#Unrestricted_unions . |