Console Library 4.7.0
A header-only library that makes C++ simple
Loading...
Searching...
No Matches
console::cursor_ptr< T[]> Class Template Reference

双指针游标智能指针(数组版本)。 More...

#include <cursor_ptr.h>

Public Member Functions

 cursor_ptr ()
 默认构造。
 cursor_ptr (T *p)
 从原始数组指针构造,获取所有权。
 cursor_ptr (const cursor_ptr &cp)
 拷贝构造,仅复制游标位置。
 cursor_ptr (cursor_ptr &&cp)
 移动构造,转移所有权。
 ~cursor_ptr ()
 析构,释放数组内存(使用 delete[])。
void swap (cursor_ptr &cp)
 交换两个 cursor_ptr 的内容。
解引用与元素访问
T & operator* ()
T * operator-> ()
T & operator[] (size_t i)
T * get ()
 operator T* ()
const 版本
const T & operator* () const
const T * operator-> () const
const T & operator[] (size_t i) const
const T * get () const
 operator const T * () const
自增/自减
cursor_ptroperator++ ()
cursor_ptr operator++ (int)
cursor_ptroperator-- ()
cursor_ptr operator-- (int)
指针算术
cursor_ptr operator+ (int sep) const
cursor_ptr operator- (int sep) const
const cursor_ptroperator+= (int sep)
const cursor_ptroperator-= (int sep)
int operator- (const cursor_ptr &cp) const
赋值
const cursor_ptroperator= (T *p)
const cursor_ptroperator= (const cursor_ptr &cp)
const cursor_ptroperator= (cursor_ptr &&cp)

比较

bool operator== (const cursor_ptr &cp) const
bool operator== (const T *p) const
bool operator!= (const cursor_ptr &cp) const
bool operator!= (const T *p) const
bool operator== (const T *p, const cursor_ptr &cp)
bool operator!= (const T *p, const cursor_ptr &cp)

Detailed Description

template<class T>
class console::cursor_ptr< T[]>

双指针游标智能指针(数组版本)。

Template Parameters
T数组元素类型。

与非数组版本的区别在于析构使用 delete[],赋值时使用 delete[] 释放原内存。

Warning
需确保与 new[] 匹配。

Constructor & Destructor Documentation

◆ cursor_ptr() [1/4]

template<class T>
console::cursor_ptr< T[]>::cursor_ptr ( )
inline

默认构造。

◆ cursor_ptr() [2/4]

template<class T>
console::cursor_ptr< T[]>::cursor_ptr ( T * p)
inline

从原始数组指针构造,获取所有权。

Parameters
p指向动态分配的数组(使用 new[])。

◆ cursor_ptr() [3/4]

template<class T>
console::cursor_ptr< T[]>::cursor_ptr ( const cursor_ptr< T[]> & cp)
inline

拷贝构造,仅复制游标位置。

Parameters
cp源对象。

◆ cursor_ptr() [4/4]

template<class T>
console::cursor_ptr< T[]>::cursor_ptr ( cursor_ptr< T[]> && cp)
inline

移动构造,转移所有权。

Parameters
cp源对象。

◆ ~cursor_ptr()

template<class T>
console::cursor_ptr< T[]>::~cursor_ptr ( )
inline

析构,释放数组内存(使用 delete[])。

Member Function Documentation

◆ get() [1/2]

template<class T>
T * console::cursor_ptr< T[]>::get ( )
inline

◆ get() [2/2]

template<class T>
const T * console::cursor_ptr< T[]>::get ( ) const
inline

◆ operator const T *()

template<class T>
console::cursor_ptr< T[]>::operator const T * ( ) const
inline

◆ operator T*()

template<class T>
console::cursor_ptr< T[]>::operator T* ( )
inline

◆ operator!=() [1/2]

template<class T>
bool console::cursor_ptr< T[]>::operator!= ( const cursor_ptr< T[]> & cp) const
inline

◆ operator!=() [2/2]

template<class T>
bool console::cursor_ptr< T[]>::operator!= ( const T * p) const
inline

◆ operator*() [1/2]

template<class T>
T & console::cursor_ptr< T[]>::operator* ( )
inline

◆ operator*() [2/2]

template<class T>
const T & console::cursor_ptr< T[]>::operator* ( ) const
inline

◆ operator+()

template<class T>
cursor_ptr console::cursor_ptr< T[]>::operator+ ( int sep) const
inline

◆ operator++() [1/2]

template<class T>
cursor_ptr & console::cursor_ptr< T[]>::operator++ ( )
inline

◆ operator++() [2/2]

template<class T>
cursor_ptr console::cursor_ptr< T[]>::operator++ ( int )
inline

◆ operator+=()

template<class T>
const cursor_ptr & console::cursor_ptr< T[]>::operator+= ( int sep)
inline

◆ operator-() [1/2]

template<class T>
int console::cursor_ptr< T[]>::operator- ( const cursor_ptr< T[]> & cp) const
inline

◆ operator-() [2/2]

template<class T>
cursor_ptr console::cursor_ptr< T[]>::operator- ( int sep) const
inline

◆ operator--() [1/2]

template<class T>
cursor_ptr & console::cursor_ptr< T[]>::operator-- ( )
inline

◆ operator--() [2/2]

template<class T>
cursor_ptr console::cursor_ptr< T[]>::operator-- ( int )
inline

◆ operator-=()

template<class T>
const cursor_ptr & console::cursor_ptr< T[]>::operator-= ( int sep)
inline

◆ operator->() [1/2]

template<class T>
T * console::cursor_ptr< T[]>::operator-> ( )
inline

◆ operator->() [2/2]

template<class T>
const T * console::cursor_ptr< T[]>::operator-> ( ) const
inline

◆ operator=() [1/3]

template<class T>
const cursor_ptr & console::cursor_ptr< T[]>::operator= ( const cursor_ptr< T[]> & cp)
inline

◆ operator=() [2/3]

template<class T>
const cursor_ptr & console::cursor_ptr< T[]>::operator= ( cursor_ptr< T[]> && cp)
inline

◆ operator=() [3/3]

template<class T>
const cursor_ptr & console::cursor_ptr< T[]>::operator= ( T * p)
inline

◆ operator==() [1/2]

template<class T>
bool console::cursor_ptr< T[]>::operator== ( const cursor_ptr< T[]> & cp) const
inline

◆ operator==() [2/2]

template<class T>
bool console::cursor_ptr< T[]>::operator== ( const T * p) const
inline

◆ operator[]() [1/2]

template<class T>
T & console::cursor_ptr< T[]>::operator[] ( size_t i)
inline

◆ operator[]() [2/2]

template<class T>
const T & console::cursor_ptr< T[]>::operator[] ( size_t i) const
inline

◆ swap()

template<class T>
void console::cursor_ptr< T[]>::swap ( cursor_ptr< T[]> & cp)
inline

交换两个 cursor_ptr 的内容。

Parameters
cp要交换的对象。

◆ operator!=

template<class T>
bool operator!= ( const T * p,
const cursor_ptr< T[]> & cp )
friend

◆ operator==

template<class T>
bool operator== ( const T * p,
const cursor_ptr< T[]> & cp )
friend

The documentation for this class was generated from the following file: