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



C++最接近的直接语言前身是C。C++早期曾以“C with Classes”的方向发展,设计目标是在保留C语言效率、底层控制能力和既有生态基础的同时,引入类、继承等更适✅合组织大型程序的机制。后来,这门语言逐渐形成了今天的C++。



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



把这道问题落到准确结论



C++17并不是对C++14的完全重写,也不是一门全新的语言。它在原有基础上加入了结构化绑定、条件编译式的if constexpr、折叠表达式、内联变量等语言特性,并补充了optional、variant、any和文件系统库等标准库能力。这些变化能够帮助使用者确认自己看到的内容是否确实在讨论C++17。



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



举报/反馈