• 现代C++ 阅读笔记;https://github.com/changkun/modern-cpp-tutorial


    前言:

    本文主要是《现代C++教程》一书的阅读笔记。

    之前本科的时候,是通过学习C语言入的门,之后也是一直带着C语言的习惯来进行编程;大一在软院的时候,接触的是Java,开始使用面向对象语言进行编程。大二后转到了计算机学院,虽然计算机学院的学生都是通过C++语言来入门,但是因为很多课程作业和项目没有特指语言,所以通过Java和C语言也是能应付大部分课程工作。之后又通过兴趣学习了php, objective-c, js, html, css 等语言,做了也算是完成了本科阶段对编程的入门工作。

    但是本科阶段,确实没有系统学习过C++。甚至C++ Primer 这本书也没系统看过,有些需要C++的项目,也都是学一些概念就上手了,可能是因为写的项目比较小的原因,也都完成了特定的任务。

    研究生阶段,开始参加实验室的关于文件系统的项目,技术选型采用了C++,到现在硕士快毕业时,项目整体C++代码有三万左右的规模,也算是对C++的初步训练。

    在项目初期编程时,我都是学习实验室同学hj的编程方式,因为我对C++不是很了解,停留在很古老的阶段,很多hj同学的语法和使用我都不是很懂,包括动态指针和boost等概念。通过逐渐了解我才发现,原来C++别有洞天,而我的认识只是换个文件扩展后缀的区别。深深觉得C++需要进行进一步重新认识。另外一方面,因为C++对C语言是兼容的,很多操作系统都能和C++配合使用;所以,C++用户可以直接和操作系统交互。虽然这样不如Java等语言透明,而且和特定平台耦合性较大,但是对做系统相关工作的人来说确实极其珍贵的特征。我们可以做一些与平台相关的lib实现,甚至扩展现有的语言和框架,诸如Go、Python和tensorflow等。

    毕设进行的时候,我采用了GO与C++ 配合的方式,在原有项目基础上进行实现。整体GO代码量有6000左右,C++代码量有3000左右,在加上之前对项目贡献的C++代码,也算是初步入门了,具有了初步的开发能力。

    最近我在公众号上看到 changkun-ou 写的这本书。通过书的摘要描述,感觉能解决我的需求。其将C++11 之前的C++称之为传统C++,之后的C++称之为现代C++,是一个很好的划分。本博客接下来的内容,主要是记录我在阅读中的一些关键点,方便我个人的记忆,如果对你也是有帮助,那也是很让人兴奋的。如果你对这本书也有兴趣,也祝你阅读愉快!

    正文部分:

    C++ 发展历史 - 早期C++和标准C++

    C++ 标准编译器支持情况

    参考文献:

    https://changkun.de/modern-cpp/

    https://github.com/changkun/modern-cpp-tutorial

  • 相关阅读:
    移动端适配方案总结
    排序算法
    使用onchange依赖监控文件修改失效
    实现一个可拖拽的div
    在vue中实现两个输入框内容的同步及转换
    简易loading动画的制作
    了解MVC
    Spring Boot使用模板引擎总结
    在配置好log4j后信息log还是在Console中输出
    运行时报java.sql.SQLException: No suitable driver的几种解决办法
  • 原文地址:https://www.cnblogs.com/xuyaowen/p/modern_cxx.html
Copyright © 2020-2023  润新知