C++ 开发笔记
C++ 是个很强大的语言,也是很复杂的语言,虽然大一就学了,真正开始用 C++自工作以来也有三年多了,但是仍然不敢自称精通 C++。本篇合集是个人在学习、使用 C++过程的一些笔记汇总,尽量不做知识点的无效堆砌和搬运,而是希望融入自己的思考,希望能提供实践价值,给需要的人一些微小的帮助。也希望在得到大佬们的批评指正后,自己能够得到进步。
对程序员来说,需要掌握必要的字符编码的知识,了解程序中字符、编码和字符集的概念, 知道 Unicode 的概念,知道 UTF-8 和 Unicode 的关系,以及在开发实践中选用最合适的字符编码。
对于 C++ 的异常,很多程序员都有一些误解,认为 C++异常的是天然的低效、不完备、不安全的,其实不然,Cpp Core Guidelines 甚至推荐使用 C++ 异常作为程序的错误处理方式,而 Google Style Guide 为什么又是不推荐呢?相比于人云亦云,我们更需要自己的思考,以及结合自己在项目开发中的实际需求来做。
对于使用 C++ 开发 API 的人员来说, pimpl 是必会的一种惯用法,可以隐藏依赖,强制将实现与接口隔离,同时保持头文件较少改动可以加快构建速度,因此有必要了解一下。
Modern C++ 的最重要的特性就是智能指针,这将内存管理这个对传统 C/C++程序员来说充满陷阱的工作关进了 RAII 的笼子里。C++11 提供了 unique_ptr
、shared_ptr
和 weak_ptr
三种智能指针,但是这三种指针有哪些不同,分别应该在什么时候使用呢?这是这篇文章想要分享的。
日期时间(datetime) 也是在开发过程中可能会涉及到的一个问题,知道 UTC 时间、Unix Time 和 ISO8601 时间格式标准的概念,有助于我们更好的做开发。C 语言提供很多关于时间的结构,C++ 通过 chrono 在标准库中进一步丰富了,本文将做一个简单的盘点,同时还提供了一个可以将 ISO8601 格式时间与 time_point 相互转换的例程。
版权声明: 本文为 InfoQ 作者【行者孙】的原创文章。
原文链接:【http://xie.infoq.cn/article/afef769e12065601fe520ec48】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论