在对我的有用回答之后 最后一个问题 我开始使用具有许多不同选项的类的模板方法模式。没有实现所有这些,我当前对该类的对象的声明现在看起来像这样:

pc < prg, tc, 9, 0, 4, 4, test, true, true, true, true, false, true, true, 10, 0, -1, 3, 3 > mp;

您如何处理长模板参数列表?我应该使用枚举/定义而不是true/fals和数字吗?有常用的替代方案吗?

有帮助吗?

解决方案

是的,使用枚举(不是定义)而不是true/fals。这样一来,如果您将参数取出订单,则编译器将抱怨。另外,对于读者来说,这还要清楚得多。

至于处理一般的长参数列表----将它们隐藏在Typedef后面,或者将某些模板参数的生成器隐藏在键入后面,并让您改变其他参数。

其他提示

如果我有一个模板参数列表,我宁愿重新考虑我的设计。许多参数通常是不良设计的指示。

我不做C ++,这可能不适用于模板,但是我尝试使用带有长参数列表的普通方法来处理相关参数,并尝试明智地分组它们,并介绍反映分组的参数对象,这样您就有一个更复杂的参数列表。

我会通过单个参数进行评估,该参数是变体类型的集合,例如std :: vector。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top