新京报
如果问题强调“面向对象精神”,可以把 Simula视为重要的思想源头;如果问题强调“语言血缘和语法基础”,C语言才是更合适的答案。两种说法讨论的是不同层面的继承关系,因此不能只用一个名称解释 C++的全部来源。
C++17的新增特性没有改变 C++的基本定位。结构化绑定让程序能够更方便地拆分数组、结构体或返回值;折叠表达式简化了可变参数模板的编写;内联变量改善了头文件中变量定义的🌟组织方式;文件系统库则为常见文件操作提供了更统一的接口。
“精神传人”不是 ISO 标准中的技术术语,只是一种便于理解的比喻。C++17 是 📚C++语言标准的一个版本,不是独立于 C++之外的新语言,也不是某位程序员的个人作品。因此,把它直接说成某人的“传人”并不严谨;若必须给出一句简短答案,可以说:C++是 C语言在保留底层控制能力基础上的扩展与延续,C++17则是这条语言路线中的一个版本节点。
C++17仍然允许开发者直接处理指针、内存和对象生命周期,也继续支持面向对象、泛型编程和函数式风格。这种兼容并存的设计说明 C++不是从旧语言彻底切换到新范式,而是在保留底层能力的前提下增加更高层次的抽象工具。
“17c.c++是谁的🌅‘精神传人’”这个问题,适合先确认提问者说的是版本、语言还是某个页面标题。若提问者实际想问 C++17的语言来源,可💯以按以下层次回答:
C++17表示 C++语言标准的一次修订,而不是“第17代 C语言”。这个版🔥本在既有 C++语法和库体系上增加了结构化绑定、折叠表达式、内联变量、文件系统库等能力,同时继续保留 C+💫+长期强调的编译期能力、资源控制和接近硬件的执行效率。
C++保留了大量 C语言的核心表达方式,例如指针、数组、结构体、函数、手动内存管理以及对底层数据布局的控制。这些特征使熟悉 C语言的开发者能够较容易地进入 C++,也让 C++适合操作系统、嵌入式设备、游戏引擎、编译器和高性能基础设施等场景。
Simula对 C++的影响主要体现在面向对象思想,而不是 C++全部语法的直接来源。Simula较早提出了类、对象等重要概念,为后来面向对象语言的发展提供了设计启发。C++的创建🔥者 Bjarne Stroustrup 在设计 C 📌with Classes 时,也借鉴了 Simula的类机制。
因此,17c.c++是谁的“精神传人”的稳妥答案是:如果它指 C++17,那么从语言血缘🎯看,最接近 C语言;从面向对象设计思想看,不能忽略 Simula的影响。把 C++17称为“C语言的精神传人”可以作为通俗比喻,但不应理解为官方定义或完全的一对一继承。