网站建设文化案例,福田祥菱双排座小货车,wordpress多级tree分类目录,济南手机网站定制价格前言
本文是Bjarne Stroustrup的HOPL4论文 笔记及拓展(目录) 的起始篇。
C的理念
C被设计出来到底是为了回答什么样的问题呢#xff1f;
如何直接操纵硬件#xff1f;同时支持高效#xff0c;高级的抽象#xff1f;
C在1980年代仅仅是一个基于C和Simula语言功能的组合…前言
本文是Bjarne Stroustrup的HOPL4论文 笔记及拓展(目录) 的起始篇。
C的理念
C被设计出来到底是为了回答什么样的问题呢
如何直接操纵硬件同时支持高效高级的抽象
C在1980年代仅仅是一个基于C和Simula语言功能的组合经过多年的发展C与其他编程语言的决定性区别有两方面
语言结构到硬件设备的直接映射零开销抽象
关于零开销抽象是这样被描述的
你不用的东西你就不需要付出代价(也称为“没有分布式脂肪”)你使用的东西你手动写代码也不会更好
抽象在代码中表示为函数类模板概念和别名。
C主要是一种工业语言一种构建系统的工具。对于用户来说C不仅仅是一种由规范定义的语言它是由许多部分组成的工具集的一部分
语言标准库庞大的 常常是旧的 代码库工具 包括其他语言教学和培训社区支持
对于简单的事情简单做并确保复杂的事情并非不可能或没有必要地难。
年表
1979年工作始于“带类的C”它变成了C拥有了第一个非研究性用户。 – 语言class构造函数/析构函数public/private简单继承函数参数类型检查 – 库task(协程和仿真)用宏参数化定义的vector1985年C的首次商业发行 – 语言virtual函数运算符重载引用常量 – 库complex算法流输入输出1989-91年ANSI和ISO标准化开始 – 语言抽象类多重继承异常模板 – 库输入输出流1998年C98第一个ISOC标准 – 语言namespace具名类型转换(非C风格的转换)booldynamic_cast – 库STL(容器和算法)stringbitset2011年C11 – 语言内存模型auto范围forconstexprlambda表达式用户定义字面量… – 库thread和锁futureunique_ptrshared_ptrarray时间和时钟随机数无序容器(哈希表)…2014年C14 – 语言泛型lambda表达式constexpr函数中的局部变量数字分隔符… – 库用户自定义字面量…2017年C17 – 语言结构化绑定变量模板模板参数化的构造函数推导… – 库文件系统scoped_lockshared_mutex(读写锁)anyvariantoptionalstring_view…2020年C20 – 语言conceptmodule协程三路比较改进对编译期计算的支持… – 库概念范围日期和时区span格式改进的并发和并行执行…