|
Console Library 4.7.0
A header-only library that makes C++ simple
|
双指针游标智能指针(非数组版本)。 More...
#include <cursor_ptr.h>
Public Member Functions | |
| cursor_ptr () | |
| 默认构造,两个指针均为 nullptr。 | |
| cursor_ptr (T *p) | |
| 从原始指针构造,获取所有权。 | |
| cursor_ptr (const cursor_ptr &cp) | |
| 拷贝构造,仅复制游标位置,不转移所有权。 | |
| cursor_ptr (cursor_ptr &&cp) | |
| 移动构造,转移所有权。 | |
| ~cursor_ptr () | |
| 析构,释放 original_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_ptr & | operator++ () |
| cursor_ptr | operator++ (int) |
| cursor_ptr & | operator-- () |
| cursor_ptr | operator-- (int) |
指针算术运算 | |
| cursor_ptr | operator+ (int sep) const |
| cursor_ptr | operator- (int sep) const |
| const cursor_ptr & | operator+= (int sep) |
| const cursor_ptr & | operator-= (int sep) |
| int | operator- (const cursor_ptr &cp) const |
赋值运算符 | |
| const cursor_ptr & | operator= (T *p) |
| 从原始指针赋值,释放原有内存并接管新指针。 | |
| const cursor_ptr & | operator= (const cursor_ptr &cp) |
| 拷贝赋值,仅复制游标位置,不转移所有权。 | |
| const cursor_ptr & | operator= (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) |
双指针游标智能指针(非数组版本)。
| T | 元素类型(非数组)。 |
通过 original_ptr 管理内存生命周期,current_ptr 支持指针运算。 复制构造/赋值仅复制游标位置而不转移所有权,移动构造/赋值转移所有权。
|
inline |
默认构造,两个指针均为 nullptr。
|
inline |
从原始指针构造,获取所有权。
| p | 指向动态分配内存的指针(使用 new)。 |
|
inline |
拷贝构造,仅复制游标位置,不转移所有权。
| cp | 源对象。 |
|
inline |
移动构造,转移所有权。
| cp | 源对象,移动后其 original_ptr 置为 nullptr,current_ptr 保持不变。 |
|
inline |
析构,释放 original_ptr 指向的内存(使用 delete)。
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
交换两个 cursor_ptr 的内容(包括所有者和游标)。
| cp | 要交换的对象。 |
|
friend |
|
friend |