std::unique_ptr<T,Deleter>::operator[]
From cppreference.com
< cpp | memory | unique ptr
| 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
[編集] 関連項目
| 管理対象オブジェクトへのポインタを返す (public メンバ関数) |