我最近遇到了使用配置对象而不是通常的setter方法进行配置的类。一个小例子:classA{inta,b;public:A(constAConfiguration&conf){a=conf.a;b=conf.b;}};structAConfiguration{inta,b;};优点:您可以扩展您的对象并轻松保证新值的合理默认值,而您的用户根本不需要知道它。您可以检查配置的一致性(例如,您的类只允许某些值的组合)通过省略setter可以节省大量代码。您获得一个默认构造函数,用于为您的配置结构指定默认构造函数并使用A(constAConfiguration&conf=AConfigurat