让所有的setter函数返回对c中的对象的引用是否很好?
发布时间:2020-12-16 05:54:55 所属栏目:百科 来源:网络整理
导读:让所有的setter函数返回对c中的对象的引用是否很好? 解决方法 如果有很多东西需要在一个对象上设置,这是一个可用的足够的模式. class Foo { int x,y,z; public: Foo SetX(int x_) { x = x_; return *this; } Foo SetY(int y_) { y = y_; return *this; } Fo
让所有的setter函数返回对c中的对象的引用是否很好?
解决方法
如果有很多东西需要在一个对象上设置,这是一个可用的足够的模式.
class Foo { int x,y,z; public: Foo &SetX(int x_) { x = x_; return *this; } Foo &SetY(int y_) { y = y_; return *this; } Foo &SetZ(int z_) { z = z_; return *this; } }; int main() { Foo foo; foo.SetX(1).SetY(2).SetZ(3); } 此模式替换了一个构造函数,它包含三个int: int main() { Foo foo(1,2,3); // Less self-explanatory than the above version. } 如果您有许多值不总是需要设置,这很有用. 作为参考,这种技术的更完整的例子被称为C FAQ Lite中的“Named Parameter Idiom”. 当然,如果你使用这个命名参数,你可能想看看boost::parameter.或者你可能不… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |