17c.c++是谁的“精神传人”?谜底通常是C语言
222
订阅已订阅已珍藏
珍藏点击播报本文,约
若是“17c.c++”指的是通常写作“C++17”的内容,那么谜底并不是某位人物或某个单独项目。17c.c++是谁的“精神传人”,更准确的明确是:它属于 C++ 的生长谱系,而 C++在语言头脑和语法基础上最靠近 C 语言;在面向工具设计方面,又显着受到 Simula 等早期语言的影响。
“精神传人”不是 ISO 标准中的手艺术语,只是一种便于明确的比喻。C++17 是 C++语言标准的一个版本,不是自力于 C++之外的新语言,也不是某位程序员的小我私家作品。因此,把它直接说成某人的“传人”并不严谨;若必需给出一句简短谜底,可以说:C++是 C语言在保存底层控制能力基础上的扩展与延续,C++17则是这条语言蹊径中的一个版本节点。
“17c.c++”究竟对应什么看法
“17c.c++”并不是常见的官方标准名称。正式手艺语境通常使用“C++17”,其中“17”体现标准宣布年份对应的版本编号,“C++”体现语言自己。搜索页面、文章问题或用户输入中泛起的“17c.c++”,可能只是词序倒置、巨细写混用,或者为了顺应页面问题而形成的非标准写法。
C++17体现 C++语言标准的一次修订,而不是“第17代 C语言”。这个版本在既有 C++语法和库系统上增添了却构化绑定、折叠表达式、内联变量、文件系统库等能力,同时继续保存 C++恒久强调的编译期能力、资源控制和靠近硬件的执行效率。
- 标准工具:C++17属于 C++标准,不是全新的编程语言。
- 编号寄义:“17”主要用于标识版本,不代表继续了第17种语言。
- 手艺关系:C++17继续 C++的总体设计,而 C++的基础部分与 C语言有深挚关联。
- 使用方法:开发者需要编译器以 C++17模式编译代码,详细支持水平还取决于编译器版本和标准库实现。
C++为什么常被称为 C语言的“精神传人”
C++与 C语言之间保存直接的历史和语法继续关系。C++早期曾使用“C with Classes”这一名称,目的是在 C语言基础上加入类、封装等面向工具能力。厥后名称改为 C++,其中“++”沿用了 C语言自增运算符的意象,表达在 C基础上继续演进的寄义。
C++保存了大宗 C语言的焦点表达方法,例如指针、数组、结构体、函数、手动内存治理以及对底层数据结构的控制。这些特征使熟悉 C语言的开发者能够较容易地进入 C++,也让 C++适合操作系统、嵌入式装备、游戏引擎、编译器和高性能基础设施等场景。
C++并不是对 C语言的简朴升级版。C语言主要强调历程式编程、明确的数据和函数关系;C++则在此基础上增添类、继续、多态、模板、异常、泛型算法和资源治理工具。两者可以共享部分语法,但编程范式、库设计和工程约束并不完全相同。
| 工具 | 定位 | 主要继续或转变 | 更准确的形貌 |
|---|---|---|---|
| C语言 | 通用历程式编程语言 | 强调函数、指针、内存和数据结构 | C++的主要基础泉源 |
| C++ | 兼具底层控制与多范式能力的语言 | 加入面向工具、泛型和更完整的笼统机制 | C语言的扩展性后继者 |
| C++17 | C++标准版本 | 增补语言特征与标准库能力 | C++演进历程中的版本节点 |
Simula在这条“精神谱系”中饰演什么角色
Simula对 C++的影响主要体现在面向工具头脑,而不是 C++所有语法的直接泉源。Simula较早提出了类、工具等主要看法,为厥后面向工具语言的生长提供了设计启发。C++的建设者 Bjarne Stroustrup 在设计 C with Classes 时,也借鉴了 Simula的类机制。
“受影响”与“直接继续”需要区分。C++的底层表达能力、运算符系统和许多语法习惯主要延续自 C语言;C++的类、继续等面向工具特征则受到 Simula等语言的启发;C++后续的模板、标准库和现代特征又经由自身恒久演进,不可简朴归结为某一种语言的复制品。
若是问题强调“面向工具精神”,可以把 Simula视为主要的头脑源头;若是问题强调“语言血缘和语法基础”,C语言才是更合适的谜底。两种说法讨论的是差别层面的继续关系,因此不可只用一个名称诠释 C++的所有泉源。
C++17新增内容为什么仍然属于 C++这条蹊径
C++17的新增特征没有改变 C++的基本定位。结构化绑定让程序能够更利便地拆分数组、结构体或返回值;折叠表达式简化了可变参数模板的编写;内联变量改善了头文件中变量界说的组织方法;文件系统库则为常见文件操作提供了更统一的接口。
C++17仍然允许开发者直接处置惩罚指针、内存和工具生命周期,也继续支持面向工具、泛型编程和函数式气概。这种兼容并存的设计说明 C++不是从旧语言彻底切换到新范式,而是在保存底层能力的条件下增添更高条理的笼统工具。
C++17代码能否正常编译,还要看编译器是否启用对应标准模式。源代码写成 C++17语法,并不即是任何 C++编译器都能完整支持;项目还需要检查编译参数、标准库实现、第三方依赖以及旧代码的兼容性。
遇到这个说法时,怎样给出不误导的回覆
“17c.c++是谁的‘精神传人’”这个问题,适合先确认提问者说的是版本、语言照旧某个页面问题。若提问者现实想问 C++17的语言泉源,可以按以下条理回覆:
- 先纠正名称:正式写法通常是 C++17,“17c.c++”不是标准术语。
- 再回覆基础泉源:C++在语法、底层能力和历史生长上与 C语言关系最亲近。
- 增补设计影响:面向工具部分受到 Simula等语言的启发。
- 说明版本关系:C++17只是 C++标准的一个版本,不是自力语言,也不是某位人物的小我私家继续物。
因此,17c.c++是谁的“精神传人”的稳妥谜底是:若是它指 C++17,那么从语言血缘看,最靠近 C语言;从面向工具设计头脑看,不可忽略 Simula的影响。把 C++17称为“C语言的精神传人”可以作为通俗比喻,但不应明确为官方界说或完全的一对一继续。
人民网校对:叶一剑(Je2hXNZoHF0uOXFab3zBIrrArTgHy2IqDLD)
关注公众号:人民网财经
分享让更多人看到






























微信扫一扫


第一时间为您推送权威资讯
报道全球 撒播中国
关注人民网,撒播正能量