把这道问题落到准确结论



直接答案:“17c.c++”不是C++标准、官方版本或通用技术术语。若它实际想表达的是“C++17”,那么从标准版本的演进关系看,它承接的是C++14;如果问题问的是C++语言本身源自谁,最接近的答案则是C语言💯,同时吸收了Simula等语言的面向对象设计思想。



如果问题指的是C++17,答案是C++14



因此,“精神传人”只能算一种修辞说法,不能当作正式的技术定义。要判断它究竟指什么,首先要分清“17c.c++”是文件名、版本名,还是某篇文章自定义的称呼。



如果问的是C++语言本身,它的直接前身是C



在技术文章中,D语言、Rust等有时会被形容为C++的“精神传人”或“替代者”。这类说法主要是在比较系统编程能力、❤️运行效率、抽象能力和内存管理方式,并不表示它们是C++标准意义上的后继版本。



所以,看到“某语言是C++的精神传人”时,应先判断文章是在谈设计理念、竞争关系,还是标📢准版本继承。三种语境的答案并不相同。



“17c.c++”为什么容易被误读



标准写法是C++17,而不是“17c.c++”。C++17表示C++语言在2017年前后确定并使用的一代语言标准,和C++11、C++14、C++20属于同一条版本演进路线。



从版本关系来说,C++17最直接的“传承对象”是C++14。C++标准通常是逐步修订和扩展的,新版本会保留大量既有语法、库组件和设计原则,同时加入新的语言能力。因此,把C++17称为C++14的“精神传人”可以作为通俗比喻,但更准确的说法是:C++17是C++14之后的一代标准。



不过,把C++简单说成“C语言加上面向对象”并不完整。C++后来发展出了泛型编程、函数式风格、RAII、模板元编程和多范式编程等内容。它既继承了C对运行效率和资源控制的重视,也受到Simula面向对象思想的影响。因此,如果“精神传人”强调的是设计理念,答案可以写成“以C为基础、吸收Simula等思想的C++”;如果强调的是标准版本,则答案应当是C++14。



举报/反馈