std::shared_ptr::operator==, !=, <, <=, >, >=
来自cppreference.com
< cpp | memory | shared ptr
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| template <class T, class U> bool operator==(const shared_ptr<T>& lhs, const shared_ptr<U>& rhs); |
(1) | |
| template <class T, class U> bool operator!=(const shared_ptr<T>& lhs, const shared_ptr<U>& rhs); |
(2) | |
| template <class T, class U> bool operator<(const shared_ptr<T>& lhs, const shared_ptr<U>& rhs); |
(3) | |
| template <class T, class U> bool operator>(const shared_ptr<T>& lhs, const shared_ptr<U>& rhs); |
(4) | |
| template <class T, class U> bool operator<=(const shared_ptr<T>& lhs, const shared_ptr<U>& rhs); |
(5) | |
| template <class T, class U> bool operator>=(const shared_ptr<T>& lhs, const shared_ptr<U>& rhs); |
(6) | |
| template <class T> bool operator==(const shared_ptr<T>& lhs, std::nullptr_t rhs); |
(7) | |
| template <class T> bool operator==(std::nullptr_t lhs, const shared_ptr<T>& rhs); |
(8) | |
| template <class T> bool operator!=(const shared_ptr<T>& lhs, std::nullptr_t rhs); |
(9) | |
| template <class T> bool operator!=(std::nullptr_t lhs, const shared_ptr<T>& rhs); |
(10) | |
| template <class T> bool operator<(const shared_ptr<T>& lhs, std::nullptr_t rhs); |
(11) | |
| template <class T> bool operator<(std::nullptr_t lhs, const shared_ptr<T>& rhs); |
(12) | |
| template <class T> bool operator<=(const shared_ptr<T>& lhs, std::nullptr_t rhs); |
(13) | |
| template <class T> bool operator<=(std::nullptr_t lhs, const shared_ptr<T>& rhs); |
(14) | |
| template <class T> bool operator>(const shared_ptr<T>& lhs, std::nullptr_t rhs); |
(15) | |
| template <class T> bool operator>(std::nullptr_t lhs, const shared_ptr<T>& rhs); |
(16) | |
| template <class T> bool operator>=(const shared_ptr<T>& lhs, std::nullptr_t rhs); |
(17) | |
| template <class T> bool operator>=(std::nullptr_t lhs, const shared_ptr<T>& rhs); |
(18) | |
比较两个
shared_ptr<T>对象,用一个空指针或比较shared_ptr<T>.Original:
Compares two
shared_ptr<T> objects or compares shared_ptr<T> with a null pointer.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
请注意,比较操作符
shared_ptr简单比较指针值,实际的对象指向不比较。 operator<定义shared_ptrshared_ptrs被用来作为关联式容器中的键,比如std::mapstd::set.Original:
Note that the comparison operators for
shared_ptr simply compare pointer values; the actual objects pointed to are not compared. Having operator< defined for shared_ptr allows shared_ptrs to be used as keys in associative containers, like std::map and std::set.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目录 |
[编辑] 参数
| lhs | - | 左手
shared_ptr用来比较的 Original: the left-hand shared_ptr to compare The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| rhs | - | 右手
shared_ptr进行比较 Original: the right-hand shared_ptr to compare The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[编辑] 返回值
1) lhs.get() == rhs.get()
2) !(lhs == rhs)
3)std::less<V>()(lhs.get(), rhs.get()),其中V是复合指针type
T * U *
| 本节是不完整的 原因: needs definition from §5.9/2) |
Original:
std::less<V>()(lhs.get(), rhs.get()), where V is the composite pointer type
of T* and U*
| 本节是不完整的 原因: needs definition from §5.9/2) |
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
4) rhs < lhs
5) !(rhs < lhs)
6) !(lhs < rhs)
7) !lhs
8) !rhs
9) (bool)lhs
10) (bool)rhs
11) std::less<T*>()(lhs.get(), nullptr)
12) std::less<T*>()(nullptr, rhs.get())
13) nullptr < lhs
14) rhs < nullptr
15) !(nullptr < lhs)
16) !(rhs < nullptr)
17) !(lhs < nullptr)
18) !(nullptr < rhs)
[编辑] 例外
[编辑] 为例
| 本节是不完整的 原因: no example |
[编辑] 另请参阅
| 返回一个指针,指向被管理对象 Original: returns a pointer to the managed object The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成员函数) | |