operator==,!=,<,<=,>,>=(std::unique_ptr)
De cppreference.com
<metanoindex/>
<tbody> </tbody> template<class T1, class D1, class T2, class D2> bool operator==(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); |
(1) | (desde C++11) |
template<class T1, class D1, class T2, class D2> bool operator!=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); |
(2) | (desde C++11) |
template<class T1, class D1, class T2, class D2> bool operator<(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); |
(3) | (desde C++11) |
template<class T1, class D1, class T2, class D2> bool operator<=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); |
(4) | (desde C++11) |
template<class T1, class D1, class T2, class D2> bool operator>(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); |
(5) | (desde C++11) |
template<class T1, class D1, class T2, class D2> bool operator>=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); |
(6) | (desde C++11) |
template <class T, class D> bool operator==(const unique_ptr<T, D>& x, nullptr_t) noexcept; |
(7) | (desde C++11) |
template <class T, class D> bool operator==(nullptr_t, const unique_ptr<T, D>& x) noexcept; |
(8) | (desde C++11) |
template <class T, class D> bool operator!=(const unique_ptr<T, D>& x, nullptr_t) noexcept; |
(9) | (desde C++11) |
template <class T, class D> bool operator!=(nullptr_t, const unique_ptr<T, D>& x) noexcept; |
(10) | (desde C++11) |
template <class T, class D> bool operator<(const unique_ptr<T, D>& x, nullptr_t); |
(11) | (desde C++11) |
template <class T, class D> bool operator<(nullptr_t, const unique_ptr<T, D>& y); |
(12) | (desde C++11) |
template <class T, class D> bool operator<=(const unique_ptr<T, D>& x, nullptr_t); |
(13) | (desde C++11) |
template <class T, class D> bool operator<=(nullptr_t, const unique_ptr<T, D>& y); |
(14) | (desde C++11) |
template <class T, class D> bool operator>(const unique_ptr<T, D>& x, nullptr_t); |
(15) | (desde C++11) |
template <class T, class D> bool operator>(nullptr_t, const unique_ptr<T, D>& y); |
(16) | (desde C++11) |
template <class T, class D> bool operator>=(const unique_ptr<T, D>& x, nullptr_t); |
(17) | (desde C++11) |
template <class T, class D> bool operator>=(nullptr_t, const unique_ptr<T, D>& y); |
(18) | (desde C++11) |
Compara os valores de ponteiro de duas
unique_ptrs, ou um unique_ptr e nullptr.Original:
Compares the pointer values of two
unique_ptrs, or a unique_ptr and nullptr.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.
Parâmetros
| x, y | - | unique_ptrs para comparar Original: unique_ptrs to compare The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Valor de retorno
1) x.get() == y.get()
2) x.get() != y.get()
3)
std::less<CT>()(x.get(), y.get()), onde é CT std::common_type<unique_ptr<T1, D1>::pointer, unique_ptr<T2, D2>::pointer>::typeOriginal:
std::less<CT>()(x.get(), y.get()), where CT is std::common_type<unique_ptr<T1, D1>::pointer, unique_ptr<T2, D2>::pointer>::typeThe 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) !(y < x)
5) y < x
6) !(x < y)
7-8) !x
9-10) (bool)x
11) std::less<unique_ptr<T,D>::pointer>()(x.get(), nullptr)
12) std::less<unique_ptr<T,D>::pointer>()(nullptr, y.get())
13) nullptr < x
14) y < nullptr
15) !(nullptr < x)
16) !(y < nullptr)
17) !(x < nullptr)
18) !(nullptr < y)
Exemplo
#include <iostream>
#include <memory>
int main()
{
std::unique_ptr<int> p1(new int(42));
std::unique_ptr<int> p2(new int(42));
std::cout << "p1 == p1: " << (p1 == p1) << '\n';
// p1 and p2 point to different memory locations, so p1 != p2
std::cout << "p1 == p2: " << (p1 == p2) << '\n';
}
Saída:
p1 == p1: 1
p1 == p2: 0
