智能指针相关
- std::unique_ptr: 用于管理一个动态分配的对象的生命周期。
- 发音:英 [ˌstuː ˈjuːnɪk ˈpɑːtər],美 [ˌstuː ˈjuːnɪk ˈpɑːrtɚ]
- std::shared_ptr: 允许多个std::shared_ptr实例共享同一个对象的所有权。
- 发音:英 [ˌʃeərd ˈpɑːtər],美 [ˌʃerd ˈpɑːrtɚ]
- std::weak_ptr: 与std::shared_ptr协作的智能指针,但不增加引用计数。
- 发音:英 [ˈwiːk pɑːtər],美 [ˈwiːk pɑːrtɚ]
包裹类相关
- std::function: 提供一种通用的、类型安全的方式来存储和调用任何可调用目标(函数指针、成员函数指针、函数对象以及Lambda表达式)。
- 发音:英 [ˈfʌŋkʃən],美 [ˈfʌŋkʃən]
- std::future: 表示异步操作的结果。
- 发音:英 [ˈfjutʃər],美 [ˈfjutʃər]
- std::promise: 一种对象,可用于将值或异常从一个线程传递到另一个线程。
- 发音:英 [ˈprɒmɪs],美 [ˈprɑːmɪs]
- std::async: 用于在新线程中运行一个函数,并返回一个std::future对象,该对象将在未来某个时间点持有函数返回值。
- 发音:英 [əˈsɪŋk],美 [əˈsɪŋk]
- std::optional: 表示一个可能不存在的值。
- 发音:英 [ɒpˈʃənl],美 [ɑːpˈʃənl]
- std::any: 可以存储任意类型值的类。
- 发音:英 [ˈɛni],美 [ˈæni]
- std::packaged_task: 将一个可调用对象包装起来,用于异步执行。
- 发音:英 [ˈpækɪdʒd ˈtæsk],美 [ˈpækɪdʒd ˈtæsk]
- std::variant: 一个类型安全的联合体,可以存储多种不同的类型。
- 发音:英 [ˈværɪənt],美 [ˈværɪənt]
时间库
- std::chrono: 提供日期和时间的表示、持续时间的表示以及时钟的表示。
- 发音:英 [ˌstiː ˈkrəʊnəʊ],美 [ˌstiː ˈkroʊnoʊ]
- std::chrono::duration: 表示一段时间的持续时间。
- 发音:英 [dʊˈreɪʃn],美 [dəˈreɪʃn]
- std::chrono::time_point: 表示一个特定时间点。
- 发音:英 [ˈtaɪm pɔɪnt],美 [ˈtaɪm pɔɪnt]
- std::chrono::steady_clock: 提供一个不可逆转的时钟,其时间点不能被调整。
- 发音:英 [ˈstɛdi klɒk],美 [ˈstɛdi klɑːk]
- std::chrono::system_clock: 表示系统的实际时钟,并可以被调整。
- 发音:英 [ˈsɪstəm klɒk],美 [ˈsɪstəm klɑːk]
- std::chrono::high_resolution_clock: 提供最高的时间测量精度。
- 发音:英 [haɪ rɛzəˈluːʃn klɒk],美 [haɪ ˌrɛzəˈluːʃn klɑːk]
- std::chrono::milliseconds, std::chrono::seconds, etc.: 表示不同时间单位的持续时间。
- 发音:英 [ˈmɪlɪsiːkəndz, ˈsɛkəndz],美 [ˈmɪlɪsiːkəndz, ˈsɛkəndz]
- std::chrono::duration_cast: 用于在不同的时间单位之间进行转换。
- 发音:英 [dʊˈreɪʃn kæst],美 [dəˈreɪʃn kæst]
堆栈解析相关
- backtrace: 用于获取当前线程的函数调用堆栈。
- 发音:英 [ˈbæktreɪk],美 [ˈbæktreɪk]
- Valgrind: 一种编程工具,用于内存调试、内存泄漏检测、性能分析等。
- 发音:英 [vælɡrɪnd],美 [vælɡrɪnd]
- gdb: GNU Debugger,一种强大的Linux下的程序调试工具。
- 发音:通常读作各个字母的名字 [ˈdʒiː ˈdiː ˈbiː]
- lldb: LLVM Debugger,一种适用于多平台的调试工具。
- 发音:通常读作各个字母的名字 [ˈɛl ˈɛl ˈdiː ˈbiː]
- stack trace: 程序运行时的函数调用堆栈。
- 发音:英 [stæk treɪs],美 [stæk treɪs]
- core dump: 当程序崩溃时,操作系统生成的一个文件,包含了程序的内存映像和调用堆栈的信息。
- 发音:英 [kɔː dʌmp],美 [kɔːr dʌmp]
- Symbolication: 将内存地址转换为源代码中的具体位置的过程。
- 发音:[ˌsɪmbəlɪˈkeɪʃən]
类型转换相关
- dynamic_cast: 用于执行运行时类型检查的转换。
- 发音:英 [daɪˈnæmik ˌkɑːst],美 [daɪˈnæmik ˌkæst]
- reinterpret_cast: 用于执行低级别的、不安全的类型转换。
- 发音:英 [ˌriːɪntɜːprɪt ˈkɑːst],美 [ˌriːɪntɜːprɪt ˈkɑːst]
- static_cast: 用于执行非多态类型之间的转换。
- 发音:英 [ˈstaɪtik ˌkɑːst],美 [ˈstaɪtik ˌkæst]
关键字相关
类型限定符
- const: 指定变量的值不能被修改。
- 发音:英 [kɒnst],美 [kɑːnst]
- volatile: 指示变量可以在程序外被修改。
- 发音:英 [ˈvɒlətaɪl],美 [ˈvɑːlətl]
- constexpr: 用于定义编译时可计算的常量和函数。
- 发音:英 [kɑːnˈstɛkspr],美 [kɑːnˈstɛkspr]
存储类说明符
- static: 指定变量或函数具有静态存储期限。
- 发音:英 [ˈstætɪk],美 [ˈstætɪk]
- extern: 表明变量或函数是在其他地方定义的。
- 发音:英 [ˈɛkstɜːrn],美 [ˈɛkstɜːrn]
- register: 建议编译器尽量将变量存储在寄存器中。
- 发音:英 [ˈrɛdʒɪstər],美 [ˈrɛdʒɪstər]
控制流关键字
- if: 用于创建条件语句。
- 发音:英 [ɪf],美 [ɪf]
- else: 用于创建条件语句的另一个分支。
- 发音:英 [ɛls],美 [ɛls]
- switch: 用于根据变量的值执行不同的代码块。
- 发音:英 [swɪtʃ],美 [swɪtʃ]
- case: 与switch语句一起使用,指定一个可能的匹配值。
- 发音:英 [keɪs],美 [keɪs]
- default: 与switch语句一起使用,指定没有匹配值时执行的代码块。
- 发音:英 [dɪˈfɔːlt],美 [dɪˈfɔːlt]
循环关键字
- for: 用于创建for循环。
- 发音:英 [fɔːr],美 [fɔːr]
- while: 用于创建while循环。
- 发音:英 [waɪl],美 [waɪl]
- do: 用于创建do-while循环。
- 发音:英 [duː],美 [duː]
- break: 用于立即退出循环。
- 发音:英 [breɪk],美 [breɪk]
- continue: 用于跳过当前循环的剩余部分,并开始下一次迭代。
- 发音:英 [kənˈtɪnjuː],美 [kənˈtɪnjuː]
访问控制关键字
- public: 指定类的成员是公开的。
- 发音:英 [ˈpʌblɪk],美 [ˈpʌblɪk]
- protected: 指定类的成员受到保护。
- 发音:英 [prəˈtɛktɪd],美 [prəˈtɛktɪd]
- private: 指定类的成员是私有的。
- 发音:英 [ˈpraɪvɪt],美 [ˈpraɪvɪt]
结语
在我们的编程学习之旅中,理解是我们迈向更高层次的重要一步。然而,掌握新技能、新理念,始终需要时间和坚持。从心理学的角度看,学习往往伴随着不断的试错和调整,这就像是我们的大脑在逐渐优化其解决问题的“算法”。
这就是为什么当我们遇到错误,我们应该将其视为学习和进步的机会,而不仅仅是困扰。通过理解和解决这些问题,我们不仅可以修复当前的代码,更可以提升我们的编程能力,防止在未来的项目中犯相同的错误。
我鼓励大家积极参与进来,不断提升自己的编程技术。无论你是初学者还是有经验的开发者,我希望我的博客能对你的学习之路有所帮助。如果你觉得这篇文章有用,不妨点击收藏,或者留下你的评论分享你的见解和经验,也欢迎你对我博客的内容提出建议和问题。每一次的点赞、评论、分享和关注都是对我的最大支持,也是对我持续分享和创作的动力。