本篇内容主要讲解“C++怎么为具有约定俗成语义的操作使用运算符”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++怎么为具有约定俗成语义的操作使用运算符”吧!
创新互联公司长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为汝南企业提供专业的成都网站设计、网站制作,汝南网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
C.167:为具有约定俗成语义的操作使用运算符
可读性。遵守惯例。可复用性。支持泛化代码。
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';
很多操作符具有强烈而且活跃的约定含义,例如:
comparisons (==, !=, <, <=, >, and >=),
比较运算符
arithmetic operations (+, -, *, /, and %)
数学运算符
access operations (., ->, unary *, and [])
访问运算符
assignment (=)
赋值运算符
不要违反惯例定义这些运算符,也不要为它们发明新名称。
Enforcement(实施建议)
不容易。需要语义方面的深入理解。
到此,相信大家对“C++怎么为具有约定俗成语义的操作使用运算符”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!