gpt4 book ai didi

c++ - 最佳实践 : implementation of symmetric functions

转载 作者:太空宇宙 更新时间:2023-11-04 13:53:53 25 4
gpt4 key购买 nike

<分区>

给定一个简单的类:

class MyClass
{
public: int var;
};

以及以下全局/自由运算符函数:

MyClass operator + ( const int& lhs , const MyClass& rhs )
{
return MyClass( lhs + rhs.var );
};

MyClass operator + ( const MyClass& lhs , const int& rhs )
{
return MyClass( lhs.var + rhs );
};

是否值得实现对称函数的两种方式?或者只是其中之一 - 如果是,是哪一个?是否有相应的通用指南?

谢谢

编辑#1:

也有可能(感谢@Karoly Horvath):

MyClass operator + ( const int& lhs , const MyClass& rhs )
{
return MyClass( lhs + rhs.var );
};

MyClass operator + ( const MyClass& lhs , const int& rhs )
{
// return rhs + lhs; // or
return operator + ( rhs , lhs );
};

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com