【复读EffectiveC++01】条款01:视 C++ 为一个语言联邦

本文介绍了C++语言的四个主要部分——基础C语言、面向对象、模板和STL,并强调了理解和熟练应用这些部分的重要性,特别是如何在交叉部分找到最适合的解决方案,以实现高效编程。
摘要由CSDN通过智能技术生成

条款01:视 C++ 为一个语言联邦

   作为整个书的开篇,几乎点明了整本书的基调,C++的繁复是有目共睹的,其麻烦的就在于多种特性的混杂,不断地迭代,打补丁,而想要成为优秀的C++开发者,全部了解,属实是在难为人,但总是要做到两个点:
   a、对语言的常用部分要了解到,会运用(避坑);
   b、交叉的部分要知道那些在什么情况下是最优解;
   这两点也是本书的主要在探讨的。

1、语言的常用部分

   对于C++整体,在本书中提出了四个部分的划分:C语言、Object-Oriented C++、Template C++和STL。

   改版C语言部分,是C++的地基,但与C语言不是完全相同,在此部分中,几乎都是常用的,其中包括区块(blocks)、语句(statements)、预处理(preprocessor)、内置数据类型(built-in data type)、数组(array)和指针(pointers)等,因其地基的性质,想要房不塌,就要好好的掌握,熟练的使用,尤其是指针(大坑)的使用好坏,几乎是开发者功力的体现之一。

   Object-Oriented C++部分,是针对面向对象设计的拓展,满足了C with Classes所诉求的classes(包括构造和析构函数)、封装(encapsulation)、继承(inheritance)、多态(polymorphism)、virtual函数(动态绑定)等面向对象设计,方便架构抽象,也是要熟练使用的。

   Template C++部分,是针对泛型编程的扩展,鉴于我所在的公司极少量使用,尽量回避的情况,我对其了解并不深,身边的朋友也鲜有使用,因此,我还是认为,这个部分是加分项。

   STL部分,它是非常特殊的一个,属于是高效工具的拓展,以便于C++使用者脱离反复造轮子的困境,更何况造轮子也得考虑轮子好不好用,STL是个template程序库,对其的态度分公司而异,但招聘上还是挺有市场的,因此也是要熟练使用的。

2、交叉与最优解

   对于C++划分的四个,并非是完全独立的,他们内容是存在交叉的,即可以解决同样的问题;
类似想在内存开辟存在前后关联的空间,用来存储十个数据,而且还需要这是个数据我能遍历,要怎么做?
   C语言的数组和STL的容器都可以做到,这时候就要根据具体情况,二选一了,找到最优解。

最后,摘录一句话:

C++高效编程守则视状况而变化,取决于你使用C++的哪一部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值