C++ 参考手册
- C++11
 - C++14
 - C++17
 - C++20
 - C++ 编译器支持情况表
 - 独立与宿主实现
 - C++ 语言
 - C++ 关键词
 - 预处理器
 - C++ 标准库头文件
 - 具名要求
 - 功能特性测试 (C++20)
 - 工具库
 - 类型支持(基本类型、RTTI、类型特性)
 - 概念库 (C++20)
 - 错误处理
 - 动态内存管理
 - std::unique_ptr
 - std::make_unique, std::make_unique_for_overwrite
 - std::hash <std::unique_ptr>
 - std::unique_ptr<T,Deleter>::operator<<
 - std::swap(std::unique_ptr)
 - std::unique_ptr<T,Deleter>::operator*
 - std::unique_ptr<T,Deleter>::operator[]
 - operator==,!=,<,<=,>,>=,<=>(std::unique_ptr)
 - std::unique_ptr<T,Deleter>::get
 - std::unique_ptr<T,Deleter>::get_deleter
 - std::unique_ptr<T,Deleter>::operator bool
 - std::unique_ptr<T,Deleter>::reset
 - std::unique_ptr<T,Deleter>::swap
 - std::unique_ptr<T,Deleter>::operator=
 - std::unique_ptr<T,Deleter>::release
 - std::unique_ptr<T,Deleter>::unique_ptr
 - std::unique_ptr<T,Deleter>::~unique_ptr
 - std::addressof
 - std::allocator_traits
 - std::default_delete
 - std::allocator_arg_t
 - std::allocator_arg
 - std::weak_ptr
 - std::enable_shared_from_this
 - std::bad_weak_ptr
 - std::scoped_allocator_adaptor
 - std::auto_ptr
 - std::destroy_at
 - std::destroy
 - std::destroy_n
 - std::uninitialized_move
 - std::uninitialized_value_construct
 - std::owner_less
 - std::shared_ptr
 - std::to_address
 - std::assume_aligned
 - std::make_obj_using_allocator
 - C 内存管理库
 - 低层内存管理
 - std::pmr::memory_resource
 - std::allocator
 - std::pointer_traits
 - std::uses_allocator
 - std::uses_allocator_construction_args
 - std::uninitialized_construct_using_allocator
 - std::pmr::polymorphic_allocator
 - std::pmr::get_default_resource
 - std::pmr::set_default_resource
 - std::pmr::new_delete_resource
 - std::pmr::null_memory_resource
 - std::pmr::synchronized_pool_resource
 - std::pmr::unsynchronized_pool_resource
 - std::pmr::monotonic_buffer_resource
 - std::pmr::pool_options
 - std::raw_storage_iterator
 - std::get_temporary_buffer
 - std::return_temporary_buffer
 - std::uninitialized_copy
 - std::uninitialized_fill
 - std::uninitialized_default_construct
 - std::uninitialized_copy_n
 - std::uninitialized_fill_n
 - std::uninitialized_move_n
 - std::uninitialized_default_construct_n
 - std::uninitialized_value_construct_n
 - std::construct_at
 - std::align
 - 注释
 - 日期和时间工具
 - 字符串库
 - 容器库
 - 迭代器库
 - 范围库 (C++20)
 - 算法库
 - 数值库
 - 输入/输出库
 - 文件系统库
 - 本地化库
 - 正则表达式库
 - 原子操作库
 - 线程支持库
 - 实验性 C++ 特性
 - 有用的资源
 - 索引
 - std 符号索引
 - 协程支持 (C++20)
 - C++ 关键词
 
位置:首页 > C++ 参考手册 >动态内存管理 >std::unique_ptr > std::unique_ptr<T,Deleter>::operator[]
std::unique_ptr<T,Deleter>::operator[]
|   T& operator[](size_t i) const;  | 
(C++11 起) | |
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
参阅
|    返回指向被管理对象的指针   (公开成员函数)  |