我正在对 char 执行 switch 语句,并且通常唯一的区别是 和 之间的唯一区别'A'
是'a'
我在特定结构中具有的某些静态常量和随机数字常量。这是一个例子:
switch(someChar)
{
case 'A':
{
typedef structWithConstants<caseA, UPCASE> constantsT;
someStruct s;
s.bla = bla;
s.foo = getfoo7(rat+constantsT::rat);
s.other = getOther10(other + constantsT::other);
someFunctionBar(&s);
}
break;
case 'a':
{
typedef structWithConstants<caseA, LOWCASE> constantsT;
someStruct s;
s.bla = bla;
s.foo = getfoo3(rat+constantsT::rat);
s.other = getOther10(other + constantsT::other);
someFunctionBar(&s);
}
break;
}
所以在上面,从字面上看,在代码方面唯一的区别是使用的常量 T 和 7 切换到三......有没有办法简化上面的重复代码?也许会破坏这两种情况之间的一些共同行为?