您好,登錄后才能下訂單哦!
本篇內容主要講解“C++怎么為具有約定俗成語義的操作使用運算符”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++怎么為具有約定俗成語義的操作使用運算符”吧!
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++怎么為具有約定俗成語義的操作使用運算符”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。