LearnCPP CN

      • 0-1-introduction-to-these-tutorials
      • 0-2-introduction-to-programming-languages
      • 0-3-introduction-to-cplusplus
      • 0-4-introduction-to-cpp-development
      • 0-5-introduction-to-the-compiler-linker-and-libraries
      • 0-6-installing-an-integrated-development-environment-ide
      • 0-7-compiling-your-first-program
      • 0-8-a-few-common-cpp-problems
      • 0-9-configuring-your-compiler-build-configurations
      • 0-10-configuring-your-compiler-compiler-extensions
      • 0-11-configuring-your-compiler-warning-and-error-levels
      • 0-12-configuring-your-compiler-choosing-a-language-standard
      • 0-13-what-language-standard-is-my-compiler-using
      • 1.1 - 程序结构和语句
      • 1.2 - 注释
      • 1.3 - 对象和变量
      • 1.4 - 变量赋值和初始化
      • 1.5 - iostream 简介:cout,cin 和 endl
      • 1.6 - 未初始化变量和未定义行为
      • 1.7 - 关键字和标识符
      • 1.8 - 空白符和基本排版
      • 1.9 - 字面量和操作符
      • 1.10 - 表达式简介
      • 1.11 - 开发你的第一个程序
      • 1.x - 小结与测试 - C++基础
      • 2.1 - 函数简介
      • 2.2 - 函数返回值
      • 2.3 - void 函数
      • 2.4 - 函数形参和实参
      • 2.5 - 局部作用域
      • 2.6 - 为什么函数有用,如何高效使用函数
      • 2.7 - 前向声明和定义
      • 2.8 - 多文件程序
      • 2.9 - 命名冲突和命名空间
      • 2.10 - 预处理器简介
      • 2.11 - 头文件
      • 2.12 - 头文件防卫式声明
      • 2.13 - 如何设计第一个程序
      • 2.x - 小结与测试 - 函数与文件
      • 3.1 - 语法和语义错误
      • 3.2 - 代码调试步骤
      • 3.3 - 代码调试策略
      • 3.4 — 基本代码调试技术
      • 3.5 - 更多代码调试技术
      • 3.6 - 使用集成调试器之单步调试
      • 3.7 - 使用集成调试器之运行和断点
      • 3.8 - 使用集成调试器之监控变量
      • 3.9 - 使用集成调试器之调用栈
      • 3.10 - 在问题发生前发现问题
      • 3.x - 小结与测试 - 代码调试
      • 4.1 - 基础数据类型简介
      • 4.2 - Void
      • 4.3 - 对象的大小和 sizeof 操作符
      • 4.4 - 有符号整型
      • 4.5 - 无符号整型以及为什么要避免使用它
      • 4.6 - 固定宽度整型和 size_t
      • 4.7 - 科学计数法
      • 4.8 - 浮点数
      • 4.9 - 布尔值
      • 4.10 - if 语句简介
      • 4.11 - 字符
      • 4.12 - 类型转换和 static_cast
      • 4.x - 小结与测试 - 基本数据类型
      • 4.14 - 编译时常量、常量表达式和 constexpr
      • 5-4-the-as-if-rule-and-compile-time-optimization
      • 5-5-constant-expressions
      • 5-6-constexpr-variables
      • 5-x-chapter-5-summary-and-quiz-processed
      • 5.1 - const 变量和符号常量
      • 5.2 - 字面量
      • 5.3 - 数值系统(十进制、二进制、十六进制和八进制)
      • 5.7 - std::string 简介
      • 5.8 - std::string_view 简介
      • 5.9 - std::string_view(第二部分)
      • 6-6-the-conditional-operator
      • 6.1 - 运算符优先级和结合律
      • 6.2 - 数学运算符
      • 6.3 - 求模和指数运算
      • 6.4 - 自增自减运算符及其副作用
      • 6.5 - 逗号和条件运算符
      • 6.7 - 关系运算符和浮点数比较
      • 6.8 - 逻辑运算符
      • 6.x - 小结与测试 - 运算符
      • 7.1 - 复合语句(语句块)
      • 7.2 - 用户定义命名空间和作用域解析运算符
      • 7.3 - 局部变量
      • 7.4 - 全局变量
      • 7.5 - 变量遮蔽
      • 7.6 - 内部链接
      • 7.7 - 外部链接和变量前向声明
      • 7.8 - 为什么非 const 全局变量是魔鬼
      • 7.9 - 内联函数
      • 7.10 - 使用 inline 变量共享全局常量
      • 7.11 - 静态局部变量
      • 7.12 - 作用域和链接小结
      • 7.13 - using 声明和 using 指令
      • 7.14 - 未命名和内联命名空间
      • 7.x - 小结与测试 - 作用域、持续时间和链接
      • 8-4-constexpr-if-statements
      • 8-15-global-random-numbers-random-h
      • 8.1 - 控制流
      • 8.2 - if 语句和语句块
      • 8.3 - 常见的 if 语句错误
      • 8.5 - switch 语句基础
      • 8.6 - switch fallthrough属性和作用域
      • 8.7 - goto 语句
      • 8.8 - 循环和 while 语句
      • 8.9 - do-while 语句
      • 8.10 - for 语句
      • 8.11 - break 和 continue
      • 8.12 - 挂起(提前结束程序)
      • 8.13 - 随机数生成器简介
      • 8.14 - 使用 Mersenne Twister 生成随机数
      • 8.x - 小结与测试 - 控制流和错误处理
      • 9-x-chapter-9-summary-and-quiz
      • 9.1 - 代码测试
      • 9.2 - 代码覆盖率
      • 9.3 - C++ 中常见的语义错误
      • 9.4 - 发现错误和处理错误
      • 9.5 - std::in 和输入错误处理
      • 9.6 - 断言和 static_assert
      • 10-4-narrowing-conversions-list-initialization-and-constexpr-initializers
      • 10.1 - 隐式类型转换
      • 10.2 - 浮点数和整型提升
      • 10.3 - 数值转换
      • 10.5 - 算术转换
      • 10.6 - 显式类型转换和static_cast
      • 10.7 - typedef 和类型别名
      • 10.8 - 使用 auto 关键字进行类型推断
      • 10.9 - 函数的类型推断
      • 10.x - 小结与测试 - 类型转换和函数重载
      • 11-4-deleting-functions
      • 11-9-non-type-template-parameters
      • 11-10-using-function-templates-in-multiple-files
      • 11-x-chapter-11-summary-and-quiz
      • 11.1 - 函数重载
      • 11.2 - 重载函数的区分
      • 11.3 - 函数重载解析和不明确匹配
      • 11.5 - 默认参数
      • 11.6 - 函数模板
      • 11.7 - 函数模板的实例化
      • 11.8 - 具有多种类型的函数模板
      • 12-6-pass-by-const-lvalue-reference
      • 12-13-in-and-out-parameters
      • 12-15-stdoptional
      • 12.1 - 复合数据类型
      • 12.2 - 值的分类(左值和右值)
      • 12.3 - 左值引用
      • 12.4 - const类型的左值引用
      • 12.5 - 传递左值引用
      • 12.7 - 指针简介
      • 12.8 - 空指针
      • 12.9 - 指针和const
      • 12.10 - 按地址传递
      • 12.11 - 按地址传递 Part2
      • 12.12 - 按引用返回和按地址返回
      • 12.14 - 指针、引用和const的类型推断
      • 12.x - 小结与测试 - 引用和指针
      • 13-4-converting-an-enumeration-to-and-from-a-string
      • 13-5-introduction-to-overloading-the-i-o-operators
      • 13-11-struct-miscellany
      • 13-15-alias-templates
      • 13.1 - 程序定义类型简介
      • 13.2 - 无作用域枚举类型
      • 13.3 - 限定作用域枚举类型的输入输出
      • 13.6 - 限定作用域枚举(枚举类)
      • 13.7 - 结构体、成员和成员选择
      • 13.8 - 结构体的聚合初始化
      • 13.9 - 默认成员初始化
      • 13.10 - 结构体传递及其他
      • 13.12 - 基于指针和引用的成员选择
      • 13.13 - 类模板
      • 13.14 - 类模板参数推断CTAD
      • 13.x - 小结与测试 - 枚举和结构体
      • 13.y - 学会使用C++参考手册
      • 13.7 - 非静态成员初始化
      • 14-3-member-functions
      • 14-7-member-functions-returning-references-to-data-members
      • 14-8-the-benefits-of-data-hiding-encapsulation
      • 14-11-default-constructors-and-default-arguments
      • 14-17-constexpr-aggregates-and-classes
      • 14.1 - 欢迎来到面向对象的世界
      • 14.2 - 类和类成员
      • 14.4 - const 对象和成员函数
      • 14.5 - 访问修饰符 public 和 private
      • 14.6 - 成员访问函数与封装
      • 14.9 - 构造函数
      • 14.10 - 构造函数成员初始化值列表
      • 14.12 - 重叠和委托构造函数
      • 14.13 - 匿名对象
      • 14.14 - 拷贝构造函数
      • 14.15 - 拷贝初始化
      • 14.16 - 转换构造函数与explicit和delete关键字
      • 14.x - 小结与测试 - 面向对象基础
      • 15-4-introduction-to-destructors
      • 15-5-class-templates-with-member-functions
      • 15-9-friend-classes-and-friend-member-functions
      • 15-10-ref-qualifiers
      • 15-x-chapter-15-summary-and-quiz
      • 15.1 - 隐藏的this指针
      • 15.2 - 类代码和头文件
      • 15.3 - 类中的嵌套类型
      • 15.6 - 静态成员变量
      • 15.7 - 静态成员函数
      • 15.8 - 友元函数和友元类
      • 16-1-introduction-to-containers-and-arrays
      • 16-3-stdvector-and-the-unsigned-length-and-subscript-problem
      • 16-4-passing-stdvector
      • 16-5-returning-stdvector-and-an-introduction-to-move-semantics
      • 16-7-arrays-loops-and-sign-challenge-solutions
      • 16-9-array-indexing-and-length-using-enumerators
      • 16-11-stdvector-and-stack-behavior
      • 16-12-stdvector-bool
      • 16-x-chapter-16-summary-and-quiz
      • 16.2 — 动态数组 std::vector 简介
      • 16.6 - 数组和循环
      • 16.8 - for-each 循环
      • 16.10 - std::vector的容量和类栈行为
      • 11.1 - 数组(第一部分)
      • 11.2 - 数组(第二部分)
      • 17-2-stdarray-length-and-indexing
      • 17-3-passing-and-returning-stdarray
      • 17-4-stdarray-of-class-types-and-brace-elision
      • 17-5-arrays-of-references-via-stdreference_wrapper
      • 17-6-stdarray-and-enumerations
      • 17-7-introduction-to-c-style-arrays
      • 17-13-multidimensional-stdarray
      • 17.1 — 固定数组 std::array 简介
      • 17.8 - 指针和数组
      • 17.9 - 指针运算和数组索引
      • 17.10 - C 语言风格字符串
      • 17.11 - C 风格字符串符号常量
      • 17.12 - 多维数组
      • 17.x - 小结与测试 - 数组、字符串和动态分配
      • 18.1 - 数组排序之选择排序
      • 18.2 — 迭代器简介
      • 18.3 — 标准库算法简介
      • 18.4 - 对程序进行计时
      • 19.1 - 使用 new 和 delete 进行动态内存分配
      • 19.2 - 动态分配数组
      • 19.3 - 析构函数
      • 19.4 — 指向指针的指针和多维数组
      • 19.5 — void 指针
      • 20.1 - 函数指针
      • 20.2 - 栈和堆
      • 20.3 - 递归
      • 20.4 - 命令行参数
      • 20.5 - 省略号以及为什么要避免使用它
      • 20.6 - lambda表达式简介(匿名函数)
      • 20.7 - lambda 闭包
      • 20.x - 小结与测试 - 函数
      • 21.1 - 运算符重载简介
      • 21.2 - 使用友元重载算数运算符
      • 21.3 - 使用普通函数重载运算符
      • 21.4 - 重载输入输出运算符
      • 21.5 - 使用成员函数重载运算符
      • 21.6 - 重载一元运算符+,- 和 !
      • 21.7 - 重载比较运算符
      • 21.8 - 重载递增递减运算符
      • 21.9 - 重载下标运算符
      • 21.10 - 重载括号运算符
      • 21.11 - 重载类型转换操作符
      • 21.12 - 重载赋值运算符
      • 21.13 - 浅拷贝和深拷贝
      • 21.14 - 重载运算符和函数模板
      • 21.x - 小结与测试 - 运算符重载
      • 22.1 - 智能指针和移动语义简介
      • 22.2 - 右值引用
      • 22.3 - 移动构造函数和移动赋值
      • 22.4 - std::move
      • 22.5 — std::unique_ptr
      • 22.6 — std::shared_ptr
      • 22.7 - 智能指针带来的循环依赖问题
      • 22.x - 小结与测试 - 移动和智能指针
      • 23.1 - 对象关系
      • 23.2 - 组合关系
      • 23.3 - 聚合关系
      • 23.4 - 关联关系
      • 23.5 - 依赖关系
      • 23.6 - 容器类
      • 23.7 - std::initializer_list
      • 23.x - 小结与测试 - 对象关系
      • 24.1 - 继承简介
      • 24.2 - C++继承基础
      • 24.3 - 派生类的构造顺序
      • 24.4 - 派生类的构造和初始化
      • 24.5 - 继承和访问说明符
      • 24.6 - 为派生类添加新功能
      • 24.7 - 调用继承函数和重写
      • 24.8 - 隐藏继承的函数
      • 24.9 - 多重继承
      • 24.x - 小结与测试 - 继承
      • 25.1 - 基类的指针和引用
      • 25.2 - 虚函数和多态
      • 25.3 - override、final标识符以及协变返回类型
      • 25.4 - 虚构造函数、虚赋值和重载虚拟化
      • 25.5 - 早期绑定和后期绑定
      • 25.6 - 虚函数表
      • 25.7 - 纯虚函数,抽象基类和接口类
      • 25.8 - 虚基类
      • 25.9 - 对象切片
      • 25.10 - 动态类型转换
      • 25.11 - 使用 << 运算符打印继承类
      • 25.x - 小结与测试 - 虚函数
      • 26-1-template-classes
      • 26-2-template-non-type-parameters
      • 26-3-function-template-specialization
      • 26-4-class-template-specialization
      • 26-5-partial-template-specialization
      • 26-6-partial-template-specialization-for-pointers
      • 26.x - 小结与测试 - 模板和类
      • 27-1-the-need-for-exceptions
      • 27-2-basic-exception-handling
      • 27-3-exceptions-functions-and-stack-unwinding
      • 27-4-uncaught-exceptions-catch-all-handlers
      • 27-5-exceptions-classes-and-inheritance
      • 27-6-rethrowing-exceptions
      • 27-7-function-try-blocks
      • 27-8-exception-dangers-and-downsides
      • 27-9-exception-specifications-and-noexcept
      • 27.10 - std::move_if_noexcept
      • 27.x - 小结与测试 - 异常
      • 28.1 - 输入输出流
      • 28.2 - 使用istream处理输入
      • 28.3 - 使用ostream和ios处理输出
      • 28.4 - 用于字符串的 stream 类
      • 28.5 - 流状态和输入验证
      • 28.6 - 基本文件输入输出
      • 28.7 - 随机文件输入输出
      • A.1 - 静态库和动态库
      • A.2 - 在visual studio中使用库
      • A.3 - 在Code Blocks中使用库
      • A.4 — C++ FAQ
      • B-5-introduction-to-c23
      • B.1 - C++11
      • B.2 - C++14
      • B.3 - C++17
      • B.4 - C++20
      • C-1-appendix-c-the-end
      • 21.1 - 标准库
      • 21.2 - STL容器
      • 21.3 - STL迭代器
      • 21.4 - STL算法
      • 22.1 - std::string 和 std::wstring
      • 22.2 - std-string 的构造和析构
      • 22.3 - std-string 的长度和容量
      • 22.4 - std-string 字符访问和C字符数组转换
      • 22.5 - std-string 赋值和交换
      • 22.6 - std-string 追加
      • 22.7 - std-string 插入
      • F-2-constexpr-functions-part-2
      • F-3-constexpr-functions-part-3-and-consteval
      • F-4-constexpr-functions-part-4
      • F.1 - Constexpr 和 consteval 函数
      • F.X-chapter-f-summary-and-quiz
        • O.1 - bit标记和通过std::bitset操作bit
        • O.2 - 位运算符
        • O.3 - 使用位运算符和掩码操作位
        • O.4 - 二进制和十进制转换
        • 0初始化
        • bitwise-and
        • bss段
        • C 语言风格的类型转换
        • Composition
        • const 成员函数
        • const 类型转换
        • copy-swap习语
        • mixin
        • quiz
        • symbolic-constants-符号常量
        • tabledata
        • typeid 运算符
        • using 声明
        • using 指令
        • void 指针
        • 下标
        • 不明确匹配
        • 代码段
        • 位
        • 作用域
        • 作用域解析运算符
        • 依赖
        • 值保留
        • 值初始化
        • 值容器
        • 值类型
        • 元数
        • 全局变量
        • 公开继承
        • 公有成员
        • 关联
        • 关联容器
        • 具名类型转换
        • 内存段
        • 内存泄漏
        • 内联函数
        • 内联变量
        • 内联命名空间
        • 内部变量
        • 内部链接
        • 函数原型
        • 函数字面量
        • 函数实例
        • 函数指针
        • 函数模板
        • 函数模板实例化
        • 列表初始化
        • 列表构造函数
        • 初始化
        • 初始化值
        • 初始化值列表
        • 前向声明
        • 副作用
        • 动态内存分配
        • 动态初始化
        • 动态存储持续时间
        • 动态数组
        • 动态类型转换
        • 匿名函数
        • 匿名命名空间
        • 匿名对象
        • 协变返回值类型
        • 单一定义规则(one-definition-rule)
        • 占位符类型
        • 即时函数
        • 原始指针
        • 友元函数
        • 友元类
        • 反身关联
        • 取地址操作符 &
        • 受保护成员
        • 受保护继承
        • 变量遮蔽
        • 可调用对象
        • 可选参数
        • 右值
        • 右值引用
        • 名称修饰
        • 后期绑定
        • 向上转换
        • 向下转换
        • 命名空间
        • 哨兵
        • 回调函数
        • 固定数组
        • 基于范围的for循环
        • 基类
        • 堆
        • 堆栈溢出
        • 声明
        • 外部变量
        • 外部链接
        • 多态
        • 头文件防范
        • 委托构造函数
        • 子类
        • 字节
        • 字长
        • 字面量
        • 存储持续时间
        • 宏
        • 定义
        • 实例
        • 实例化
        • 实参
        • 容器类
        • 容器适配器
        • 对象
        • 对象切片
        • 对象类型的宏
        • 对象组合
        • 封装
        • 局部变量
        • 左值
        • 左值引用
        • 差一错误
        • 常量指针
        • 常量表达式
        • 异常安全问题
        • 引用容器
        • 强异常保证
        • 形参
        • 悬垂
        • 成员依次初始化
        • 成员依次拷贝
        • 成员依次赋值
        • 成员函数
        • 成员初始化值列表
        • 成员变量
        • 成员类型
        • 成员访问修饰符
        • 成员访问函数
        • 成员访问运算符
        • 成员选择运算符
        • 打桩
        • 抽象
        • 抽象类
        • 括号初始化
        • 拷贝初始化
        • 拷贝构造函数
        • 拷贝构造函数
        • 拷贝语义
        • 拷贝赋值运算符
        • 指令
        • 指向常量的指针
        • 指定初始化
        • 指针缩放
        • 按位或
        • 按值传递
        • 按值返回
        • 按地址传递
        • 按地址返回
        • 按引用传递
        • 按引用返回
        • 接口类
        • 提取运算符
        • 插入运算符
        • 操作数
        • 数值提升
        • 数值转换
        • 数据段
        • 整型类型
        • 文件作用域
        • 无作用域枚举类型
        • 早期绑定
        • 显式类型转换
        • 智能指针
        • 智能指针类
        • 有作用域枚举
        • 未定义行为
        • 构造函数
        • 析构函数
        • 枚举类
        • 标准流
        • 标识符(identifier)
        • 栈
        • 栈帧
        • 格式组
        • 模板参数声明
        • 模板特化
        • 模板类型参数
        • 求值
        • 泛型算法
        • 派生类
        • 浅拷贝
        • 深拷贝
        • 父类
        • 直接初始化
        • 离开作用域
        • 私有成员
        • 私有继承
        • 移动构造函数
        • 移动语义
        • 移动赋值运算符
        • 符号常量
        • 笨指针
        • 签名
        • 简单转换
        • 类别赋值运算符
        • 类型别名
        • 类型安全
        • 类型定义
        • 类型推断
        • 类型推断
        • 类型签名
        • 类型转换
        • 类实例
        • 类模板
        • 类模板实参推断
        • 类模板特化
        • 类类型
        • 纯声明(pure-declaration)
        • 纯虚函数
        • 组合类型
        • 绑定
        • 结构体填充
        • 统一初始化
        • 继承
        • 编译器
        • 编译时
        • 缝合怪对象
        • 缩写函数模板
        • 缩窄转换
        • 翻译
        • 聚合
        • 聚合初始化
        • 聚合数据类型
        • 自动内存分配
        • 自动存储持续时间
        • 舍入误差
        • 菱形继承问题
        • 虚函数
        • 虚基类
        • 虚析构函数
        • 虚表
        • 蛇形命名法
        • 表达式参数
        • 表达式类型
        • 解引用运算符
        • 语句
        • 语法
        • 调用栈
        • 贯穿属性
        • 资源获取即初始化(RAII)
        • 超出作用域
        • 超类
        • 身份特征
        • 转换构造函数
        • 输入操纵器
        • 输出操纵器
        • 运算符
        • 运行时
        • 运行时类型信息(RTTI)
        • 返回值类型推断
        • 迭代器
        • 遍历
        • 重写
        • 重新解释类型转换
        • 重构
        • 重载
        • 重载解析
        • 野指针
        • 链接
        • 链接器(linker)
        • 链接属性
        • 闭包
        • 间接包含
        • 限定符
        • 隐式对象
        • 隐式构造函数
        • 隐式类型转换
        • 随机访问内存
        • 静态内存分配
        • 静态初始化
        • 静态变量
        • 静态存储持续时间
        • 静态成员函数
        • 静态成员变量
        • 静态类型转换
        • 非静态成员初始化
        • 顺序容器
        • 预处理器
        • 预处理器指令
        • 默认初始化
        • 默认成员初始化值
        • 默认构造函数
      • MOC
      • 翻译约定
    Home

    ❯

    tags

    ❯

    Tag: pointer

    Tag: pointer

    7 items with this tag.

    • Apr 18, 2025

      19.4 — 指向指针的指针和多维数组

      • pointer
    • Apr 18, 2025

      17.8 - 指针和数组

      • array
      • pointer
    • Apr 18, 2025

      12.9 - 指针和const

      • pointer
      • const
    • Apr 18, 2025

      12.7 - 指针简介

      • pointer
    • Apr 18, 2025

      12.8 - 空指针

      • pointer
    • Apr 18, 2025

      12.10 - 按地址传递

      • pointer
      • address
    • Apr 18, 2025

      12.11 - 按地址传递 Part2

      • pointer
      • address

    Created with Quartz v4.4.0 © 2025

    • GitHub
    • 英文原站点