假設我有這樣的事情:現在的sizeof(...)= 0或C條件變量聲明++模板
struct EmptyClass{};
template<typename T1, typename T2 = EmptyClass,
typename T3 = EmptyClass, typename T4 = EmptyClass,
..., typename T20> class PoorMansTuple {
T1 t1;
T2 t2;
...
T20 t20;
};
,我可能會浪費高達每PoorMansTuple 19bytes。
的問題是:
1)有沒有一種方法創建一個類大小爲0?
2)有沒有一種方法來有條件地定義一個變量? Somethign like:
T1 t1;
if (T2 != EmptyClass) T2 t2; // pseudo code
if (T3 != EmptyClass) T3 t3; // ...
謝謝!
預先使用黑魔法宏。
我在MacOSX上使用g ++。
你可以備份一下,並告訴我們更一般的你想做什麼?這可能是你的一般問題有一個更簡單的解決方案。 – 2010-02-19 00:24:50