C++
C语言1969年-1973年完成,其出发点是为了编写Unix操作系统
设计目标
需求、背景和待解决问题
演化过程中,来自用户的反馈和语言实现者们积累的经验
设计哲学: 高效原则
C语言是为了速度而不是为了舒适而创建的,为了追求高效的编译代码,对程序员没有提出过多的限制,给与了更多的自由
作为底层语言维持着对底层硬件的直接访问功能,同时作为一种复杂的高级语言提供高层抽象能力
让C++既具有适合于系统程序设计的C语言所具有的可适应性和高效性,又能在其程序组织结构方面具有像Simula那样的语言设施
只有在迈向库的道路真正走不通的情况下,才应该踏上语言扩充之路
语言特性:
C存在问题:
C语言的声明语法就实在远不及优美;而其内建型别的隐式转换规则也是混乱无章法的
C++多用于开发各种后台使用的算法和逻辑库。
而C语言则更底层,主要用于开发更核心的算法、驱动程序和控制程序等
算法和数据结构、面向对象思想、基本语言知识、产品开发、与其他语言混合开发
但C++门槛依然很高,尤其
C++的内存问题(内存泄露,内存溢出,内存宕机,堆栈破坏等问题),
需要理解C++标准对象模型,C++标准库,标准C库,操作系统等内存设计,
才能更加深入理解C++内存管理,这是跨越C++三座大山之一
根本原因: 面向对象编程+ 高性能
绊脚石
模板-C++模板看成是一种新的语言,而且可以看成是函数式编程语言,只是设计依附在(借助于)C++其他基础语法上
视觉复杂性
template<typename T>class X{...};
template<typename T>retType function_name(T t);
C++ resource
Stephen Prata《C++ Primer Plus 》 c++第一个编译器的作者
Stanley B.Lippman 《Essential C++ 》
Bjarne Stroustrup 《The C++ Programming Language》
Bjarne Stroustrup 《The design and Evolution of C++ 》;https://www.doc88.com/p-99459428791611.html
Scott Meyers 大师Effective三部曲: Effective C++、 More Effective C++、 Effective STL
More C++ Idioms:wikipedia.org https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms
C++ Standard Library Tutorial and Reference
https://en.cppreference.com/w/
https://cplusplus.com/
标签:语言,Effective,概览,C++,C语言,内存,https
From: https://www.cnblogs.com/ytwang/p/17043189.html