Skip to content

Latest commit

 

History

History
66 lines (48 loc) · 1.5 KB

op_deref.md

File metadata and controls

66 lines (48 loc) · 1.5 KB

operator*

  • memory[meta header]
  • std[meta namespace]
  • shared_ptr[meta class]
  • function[meta id-type]
  • cpp11[meta cpp]
// 非配列版、非void版のみ
T& operator*() const noexcept;

概要

ポインタを間接参照する。

要件

get() != nullptr
  • get()[link get.md]

戻り値

*get()

備考

  • C++11 : 型Tが (CV修飾された) voidの場合、この関数が定義されるかどうかは未規定。定義される場合、その戻り値は未規定
  • C++17 : 型Tが配列もしくは (CV修飾された) voidの場合、この関数が定義されるかどうかは未規定。定義される場合、その戻り値は未規定

#include <iostream>
#include <memory>

int main()
{
  std::shared_ptr<int> p(new int(3));

  int& r = *p;
  std::cout << r << std::endl;
}

出力

3

バージョン

言語

  • C++11

処理系

  • GCC: 4.3.6 [mark verified]
  • Clang: 3.0 [mark verified]
  • ICC: ?
  • Visual C++: 2008 (TR1) [mark verified], 2010 [mark verified], 2012 [mark verified], 2013 [mark verified]

参照