跳转至主要内容
Ctrl+K

C++ 洋葱剥法交流群资料

  • GitHub

关于文档

  • 群规和前言
  • 遇到问题?
  • 参与贡献

学习资料

  • 在哪查找中文的 C++ 资料?
  • 如何用网页链接分享代码?
  • 如何询问 C++ 代码问题?
  • 断点调试的使用
  • 自动格式化代码的方法
  • C++ 学习建议、环境配置等
  • 常见问题解答
    • 对象 (object)
    • 初始化、赋值 (initialization, assignment)
    • 结构体 (struct)
    • 资源 (resource)
    • 类型转换 (type conversion)
    • const
    • 引用 (reference)
    • 指针 (pointer)
    • 函数 (function)
    • 函数参数 (function parameter)
    • 值类别 (value category)
    • auto
    • sizeof
    • C 风格数组: T array[size] (C-style array)
    • C 风格字符串和字符串字面值 (C-style string and string literal)
    • 运算符重载及示例 (operator overloading)
      • 拷贝赋值函数: operator=(Widget const&)
      • 输入流、输出流: operator<<(ostream& ostream, Widget const&)
      • 自增自减: operator++()、operator++(int)
      • 复合赋值和二元算术: operator+=、operator+
      • 比较运算符: operator<、operator==
      • 数组下标: operator[]
      • 解引用: operator->、operator*
      • 逻辑非: operator!
      • 极少重载的运算符
    • 模板 (template)
    • 移动语义 (move semantics)
    • const 的阅读: 常量指针? 指针常量?
    • 变量声明的阅读: int* (*(*const& value)[3][4])(double, double)?
    • 条件判断 (condition)
    • 多维数组 (multi-dimensional C-style array)
    • 转义字符: 为什么 '0' 的值不是 0 (escape character)
    • '\n' 是什么? 和 std::endl 有什么区别?
    • 逗号表达式 (comma operator)
    • 异常的抛出与捕获 (exception throwing)
      • 题目中所使用的类
      • 正常题: 抛出时栈回溯 (stack unwinding)
      • 硬核题: 抛出一个构造函数和析构函数会输出的类
    • 不变式: 类和结构体的区别 (class invariant)
    • 成员初始化器: 构造函数的冒号是啥?
    • 访问控制: 公用、保护用、私用 (access specifiers)
    • 生命期 (lifetime): 带输出的构造、析构如何阅读?
      • 题目中所使用的类
      • 1. 自动存储周期 (automatic storage duration)
      • 2. 静态存储周期 (static storage duration)
      • 3. 动态存储周期 (dynamic storage duration)
      • 4. 线程局部存储周期 (thread_local storage duration)
      • 5. 临时对象 (temporary object)
      • 6. 综合题
      • 制作更多习题
    • rule of 3/5/0: 要么不定义任何特殊函数, 要么定义它们全部
    • 拷贝构造/赋值函数的参数: 为什么我的拷贝函数报错?
    • copy-and-swap: 拷贝赋值函数的简单实现
    • 访问控制: 公用、保护用、私用 (access specifiers)
    • 虚函数调用的感性理解
    • 几种 cin 输入方式的区别
    • 为什么字符指针不输出地址值, 而其他指针输出地址值?
    • 为什么我的字符数组输出很奇怪?
    • 如何输出字符对应的 ASCII 码?
    • '\n' 是什么? 和 std::endl 有什么区别?
    • 文件读写
    • 二进制输入输出 (binary I/O)
    • 实例化: 对类模板写友元函数出现问题? (instantiation)
    • 随机数的生成 (random number generation)
    • 范围、迭代器和算法 (range, iterator and algorithm)
    • 实例分析: 单向链表 (forward list)
    • 实例分析: 动态数组 (dynamic array)
    • 实现 setter 和 getter 函数
    • 接口与实现相分离 (separate interface from implementation)
    • copy-and-swap: 拷贝赋值函数的简单实现
    • strcpy 报错了, 让用 strcpy_s
    • 无法解析的外部符号
    • 拆分整数的各位数
    • 整数进制转换
    • 补码的原理: 为什么 127 + 1 = -128?
    • C.2: 如果类具有不变式则用 class; 如果数据成员相互独立则使用 struct
    • C.40: 如果类具有不变式, 则定义构造函数
    • C.131: 避免平凡的 getters 和 setters
    • ES.45: 避免 "魔法常量"; 用符号常量代替它!

理论依据

  • 课上的 C 和 C++ 有什么区别?
  • 答疑原则和理论依据
  • 天鹅书第三版第 0 章.读者须知
  • 天鹅书第二版第 0 章.读者须知
  • 学习大纲
  • Show source
  • Suggest edit
  • Open issue
  • .rst

遇到问题?

目录

  • 关于 C++ 的问题
  • 关于文档内容的问题

遇到问题?#

关于 C++ 的问题#

你可以,

  • 加 QQ 群 682132891 提问.

  • 在 cpp_tutorial/question 新建一个 提问.

关于文档内容的问题#

请通过网页右上角创建 issue 或 参与贡献

../_images/open_issue.png

上一页

群规和前言

下一页

参与贡献

目录
  • 关于 C++ 的问题
  • 关于文档内容的问题

作者: FeignClaims

© Copyright 2024, FeignClaims.

最后更新于 2024-02-12 14:16:59.