十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要讲解了“C++怎么让具体类型符合常规”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++怎么让具体类型符合常规”吧!
吉木萨尔网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联公司成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
C.11:让具体类型符合常规
Reason(原因)
Regular types are easier to understand and reason about than types that are not regular (irregularities requires extra effort to understand and use).
常规类型和非常规类型相比更容易理解和推测。理解和使用不符合常规的类型需要额外努力才行。
Example(示例)
struct Bundle {
string name;
vector vr;
};
bool operator==(const Bundle& a, const Bundle& b)
{
return a.name == b.name && a.vr == b.vr;
}
Bundle b1 { "my bundle", {r1, r2, r3}};
Bundle b2 = b1;
if (!(b1 == b2)) error("impossible!");
b2.name = "the other bundle";
if (b1 == b2) error("No!");
In particular, if a concrete type has an assignment also give it an equals operator so that a = b implies a == b.
通常情况下,如果具体类型包含赋值操作,同时应提供判断相等的操作。也就是说有a=b意味着也有a==b。
Note(注意)
管理不允许克隆的资源,例如用于管理mutex的scoped_lock,由于经常在堆栈上分配,因此看起来像具体类型。但是这类类型的对象通常不能被拷贝(它们通常被移动),因此它们不属于常规的范畴,而是趋向于半常规。这样的类型经常被成为“只移动类型”。
感谢各位的阅读,以上就是“C++怎么让具体类型符合常规”的内容了,经过本文的学习后,相信大家对C++怎么让具体类型符合常规这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!