光明日报
如果“17c.c++”指的是通常写作“C++17”的内容,那么答案并不是某位人物或某个单独项目。17c.c++是谁的“精神传人”,更准确的理解是:它属于📢 C++ 的发展谱系,而 C++在语言思想和语法基础上最接近 C 语言;在面向对象设计方▶️面,又明显受到 Simula 等早期语言的影响。
如果问题强调“面向对象精神”,可以把 Sim▶️ula视为重要的思想源头;如果问题强调“语言血缘和语法基础”,C语言才是更合适的答案。两种说💫法讨论的是不同层面的继承关系,因此不能只用一个名称解释 C++的全部来源。
C++与 C语言之间存在直接的历史和语法继承关系。C++早期曾使📢用“C with Classes”这一名称,目标是在 C语言基础上加入类、封装等面向对象能力。后来名称改为 C++,其中📌“++”沿用了 C语言自增运算符的意象,表达在 C基础上继续演进的含义。
C++17代码能否正常编译,还要看编译器是否启用对应标准模式。源代码写成 C++17语法,并不等于任何 C++编译器都能完整支持;项目还需要检查编译参数、标准库实现、第三方依赖以及旧代码的兼容性。
因此,17c.c++是谁的“精神传人”的稳妥答案是:如果它指 C++🌟17,那么从语言血缘看,最接近 C语言;从面向对象设计思想看,不能忽略 Simula的影响。把 C++17称为“C语言的🔍精神传人”可以作为通俗比喻,但不应理解为官方定义或完全的一对一继承。
C++17的新增特性没有改变 C++的基本定位。结构化绑定让程序能够更方便地拆分数组、结构体或返回值;折叠📢表达式简化了可变参数模板的编写;内联变量改善了头文件中变量定义的组织方式;文件系统库则为常见文件操作提供了更统一的接口。
“17c.c++是谁的‘精神传人’”这个问题,适合先确认提问者说的是版本、语言还是某个页📌面标题。若提问者实际想问 C++17的语言来源,可以按以下层次回答: