名前空間
変種
操作

std::unique_ptr::operator*

提供: cppreference.com
< cpp‎ | memory‎ | unique ptr
 
 
 
動的メモリ管理
未初期化記憶域
(C++17)
ガベージコレクションサポート
その他
(C++20)
(C++11)
(C++11)
C のライブラリ
低水準のメモリ管理
 
 
typename std::add_lvalue_reference<T>::type operator*() const;
(1) (C++11およびそれ以降)
pointer operator->() const noexcept;
(2) (C++11およびそれ以降)

operator* および operator->*this が所有するオブジェクトへのアクセスを提供します。

get() == nullptr の場合、動作は未定義です。

目次

[編集] 引数

(なし)

[編集] 戻り値

1) *this の所有するオブジェクトを返します。 *get() と同等です。

2) *this の所有するオブジェクトを返します。 get() と同等です。

[編集] 例外

1) pointer が例外を投げる operator* を定義している場合、例外を投げるかもしれません。


[編集]

#include <iostream>
#include <memory>
 
struct Foo {
    void bar() { std::cout << "Foo::bar\n"; }
};
 
void f(const Foo& foo) 
{
    std::cout << "f(const Foo&)\n";
}
 
int main() 
{
    std::unique_ptr<Foo> ptr(new Foo);
 
    ptr->bar();
    f(*ptr);
}

出力:

Foo::bar
f(const Foo&)

[編集] 関連項目

管理対象オブジェクトへのポインタを返します
(パブリックメンバ関数) [edit]