public member function
<memory>

std::shared_ptr::get

element_type* get() const noexcept;
获取指针
返回存储的指针

存储的指针指向 shared_ptr 对象 解引用的目标对象,这通常与其拥有的指针相同。

shared_ptr 对象为别名(即通过别名构造的对象及其副本)时,存储的指针(即此函数返回的指针)可能与其拥有的指针(即对象销毁时删除的指针)不同。

参数



返回值

存储的指针
element_type是成员类型,是 shared_ptr 的模板参数的别名(T).

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// shared_ptr::get example
#include <iostream>
#include <memory>

int main () {
  int* p = new int (10);
  std::shared_ptr<int> a (p);

  if (a.get()==p)
    std::cout << "a and p point to the same location\n";

  // three ways of accessing the same address:
  std::cout << *a.get() << "\n";
  std::cout << *a << "\n";
  std::cout << *p << "\n";

  return 0;
}

输出
a and p point to the same location
10
10
10


另见