will
Code:
if (0)
  do stuff a;
else
  do stuff b;
compile to
Code:
  do stuff b;
?

also, as this is in a template, will the instance have to support functions specified in "do stuff b", in case 0 is evaluated above, as a result of the template parameters, by calling an inline function on them, say:
Code:
if (GetVal())
  do stuff a;
else
  do stuff b;
for:
Code:
template <class x, class y>
class Stick{
public:
  inline bool GetVal(){return a.GetVal() || b.GetVal();}
  .
  .
  .
private:
  x a;
  y b;
}
Stick template is used recursively, upto about 8 times, but will that be a problem for inlining?