温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++怎么为具有约定俗成​语义的操作使用运算符

发布时间:2021-11-26 15:39:40 来源:亿速云 阅读:123 作者:iii 栏目:大数据

本篇内容主要讲解“C++怎么为具有约定俗成语义的操作使用运算符”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++怎么为具有约定俗成语义的操作使用运算符”吧!

C.167:为具有约定俗成语义的操作使用运算符

Reason(原因)

可读性。遵守惯例。可复用性。支持泛化代码。

Example(示例)

void cout_my_class(const My_class& c) // confusing, not conventional,not generic
{
   std::cout << /* class members here */;
}

std::ostream& operator<<(std::ostream& os, const my_class& c) // OK
{
   return os << /* class members here */;
}

如果只考虑自己的话,cout_my_class还不错,但是它无法在通过<<运算符输出的代码中使用(或者和这样的代码一起使用)。

My_class var { /* ... */ };
// ...
cout << "var = " << var << '\n';
Note(注意)

很多操作符具有强烈而且活跃的约定含义,例如:

  • comparisons (==, !=, <, <=, >, and >=),

  • 比较运算符

  • arithmetic operations (+, -, *, /, and %)

  • 数学运算符

  • access operations (., ->, unary *, and [])

  • 访问运算符

  • assignment (=)

  • 赋值运算符

不要违反惯例定义这些运算符,也不要为它们发明新名称。

Enforcement(实施建议)

不容易。需要语义方面的深入理解。

到此,相信大家对“C++怎么为具有约定俗成语义的操作使用运算符”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI