public member function
<memory>

std::unique_ptr::operator bool

explicit operator bool() const noexcept;
檢查是否非空
返回 unique_ptr 當前是否管理著一個物件(即 unique_ptr 是否非空)。

函式返回true儲存的指標 不是空指標時,返回 true,這與
1
get()!=

引數



返回值

false如果 unique_ptr 為空,則返回 false。
true否則。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// example of unique_ptr::operator bool
#include <iostream>
#include <memory>


int main () {
  std::unique_ptr<int> foo;
  std::unique_ptr<int> bar (new int(12));

  if (foo) std::cout << "foo points to " << *foo << '\n';
  else std::cout << "foo is empty\n";

  if (bar) std::cout << "bar points to " << *bar << '\n';
  else std::cout << "bar is empty\n";

  return 0;
}

輸出
foo is empty
bar points to 12


另見