MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
shared_ptr< T[]> 模板类 参考

数组特化的共享指针 更多...

#include <shared_ptr.hpp>

类 shared_ptr< T[]> 继承关系图:
[图例]

Public 类型

using element_type
 元素类型

Public 成员函数

add_lvalue_reference_t< T > operator[] (size_t idx)
 数组下标运算符
shared_ptroperator= (const shared_ptr &x) noexcept
 拷贝赋值运算符
 ~shared_ptr () noexcept
 析构函数
void reset () noexcept
 重置共享指针
MSTL_NODISCARD long use_count () const noexcept
 获取引用计数
MSTL_NODISCARD bool unique () const noexcept
 检查是否独占所有权
void swap (shared_ptr &x) noexcept
 交换两个共享指针
MSTL_NODISCARD T * get () const noexcept
 获取原始指针
MSTL_NODISCARD T * operator-> () const noexcept
 指针解引用运算符
MSTL_NODISCARD add_lvalue_reference_t< T > operator* () const noexcept
 解引用运算符
MSTL_NODISCARD operator bool () const noexcept
 布尔转换运算符
MSTL_NODISCARD bool owner_equal (const shared_ptr< U > &rhs) const noexcept
 检查所有权是否相等
MSTL_NODISCARD bool owner_before (const shared_ptr< U > &rhs) const noexcept
 比较所有权顺序

详细描述

template<typename T>
class shared_ptr< T[]>

数组特化的共享指针

模板参数
T数组元素类型

在文件 shared_ptr.hpp659 行定义.

构造及析构函数说明

◆ ~shared_ptr()

shared_ptr< T >::~shared_ptr ( )
inlinenoexcept

析构函数

注解
减少强引用计数,当计数为0时删除对象

在文件 shared_ptr.hpp463 行定义.

成员函数说明

◆ get()

MSTL_NODISCARD T * shared_ptr< T >::get ( ) const
inlinenoexcept

获取原始指针

返回
管理的对象指针

在文件 shared_ptr.hpp538 行定义.

◆ operator bool()

MSTL_NODISCARD shared_ptr< T >::operator bool ( ) const
inlineexplicitnoexcept

布尔转换运算符

返回
是否管理对象

在文件 shared_ptr.hpp562 行定义.

◆ operator*()

MSTL_NODISCARD add_lvalue_reference_t< T > shared_ptr< T >::operator* ( ) const
inlinenoexcept

解引用运算符

返回
对象的左值引用

在文件 shared_ptr.hpp554 行定义.

◆ operator->()

MSTL_NODISCARD T * shared_ptr< T >::operator-> ( ) const
inlinenoexcept

指针解引用运算符

返回
管理的对象指针

在文件 shared_ptr.hpp546 行定义.

◆ operator=()

shared_ptr & shared_ptr< T >::operator= ( const shared_ptr< T[]> & x)
inlinenoexcept

拷贝赋值运算符

参数
x要拷贝的共享指针
返回
当前共享指针的引用

在文件 shared_ptr.hpp354 行定义.

◆ operator[]()

template<typename T>
add_lvalue_reference_t< T > shared_ptr< T[]>::operator[] ( size_t idx)
inline

数组下标运算符

参数
idx索引
返回
数组元素的引用

在文件 shared_ptr.hpp668 行定义.

引用了 shared_ptr< T >::get().

◆ owner_before()

MSTL_NODISCARD bool shared_ptr< T >::owner_before ( const shared_ptr< U > & rhs) const
inlinenoexcept

比较所有权顺序

模板参数
U比较的共享指针类型
参数
rhs要比较的共享指针
返回
当前控制块地址是否小于rhs的控制块地址

在文件 shared_ptr.hpp592 行定义.

◆ owner_equal()

MSTL_NODISCARD bool shared_ptr< T >::owner_equal ( const shared_ptr< U > & rhs) const
inlinenoexcept

检查所有权是否相等

模板参数
U比较的共享指针类型
参数
rhs要比较的共享指针
返回
是否共享同一控制块

在文件 shared_ptr.hpp573 行定义.

◆ swap()

void shared_ptr< T >::swap ( shared_ptr< T[]> & x)
inlinenoexcept

交换两个共享指针

参数
x要交换的共享指针

在文件 shared_ptr.hpp528 行定义.

◆ unique()

MSTL_NODISCARD bool shared_ptr< T >::unique ( ) const
inlinenoexcept

检查是否独占所有权

返回
是否只有当前共享指针引用对象

在文件 shared_ptr.hpp520 行定义.

◆ use_count()

MSTL_NODISCARD long shared_ptr< T >::use_count ( ) const
inlinenoexcept

获取引用计数

返回
强引用计数

在文件 shared_ptr.hpp512 行定义.


该类的文档由以下文件生成: