std::unique_ptr<T,Deleter>:: operator[]
From cppreference.net
<
cpp
|
memory
|
unique ptr
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::unique_ptr
| Member functions | ||||
| Modifiers | ||||
| Observers | ||||
|
unique_ptr::operator[]
|
||||
| Non-member functions | ||||
|
(C++14)
(C++20)
|
||||
|
(until C++20)
(C++20)
|
||||
|
(C++20)
|
||||
| Helper classes | ||||
|
T
&
operator
[
]
(
std::
size_t
i
)
const
;
|
(C++11以降)
(C++23以降 constexpr) |
|
operator[]
は、
unique_ptr
によって管理される配列の要素へのアクセスを提供します。
パラメータ i は配列の要素数より小さくなければならない。そうでない場合、動作は未定義となる。
このメンバ関数は配列型の特殊化に対してのみ提供されます。
目次 |
パラメータ
| i | - | 返される要素のインデックス |
戻り値
インデックス
i
の要素を返します。すなわち
get()[i]
です。
例
このコードを実行
#include <iostream> #include <memory> int main() { const int size = 10; std::unique_ptr<int[]> fact(new int[size]); for (int i = 0; i < size; ++i) fact[i] = (i == 0) ? 1 : i * fact[i - 1]; for (int i = 0; i < size; ++i) std::cout << i << "! = " << fact[i] << '\n'; }
出力:
0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880
関連項目
|
管理対象オブジェクトへのポインタを返す
(公開メンバ関数) |