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
参见
|
返回指向被管理对象的指针
(公开成员函数) |