Effective C++ 读书笔记(1)

本文是作者阅读《Effective C++》的笔记,探讨C++的复杂性和其作为语言联邦的特性,包括C语言的兼容性、面向对象的核心、模板编程和STL。作者强调深入理解各个模块的实现细节对于高效使用C++的重要性。
摘要由CSDN通过智能技术生成

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

做为一个半路出家的IT人,断断续续的学习编程也学了有两年多了,经过两年多的学习,感觉现在才开始慢慢的入门,

刚开始学的时候感觉学习编程语言就是学习编程,慢慢的才感觉到语言只是一个解决问题的工具而已,他就是人与计算机交互的一

个媒介,跟汉语、英语等没有什么本质的不同,相反别那些语言简单多了吧,后来慢慢的不在去刻意的去学习语言的一些语法什么

的,每次用到了在去查阅对应的知识点,当不是为学习一门语言来学习一门语言的时候,在回去看那些曾经看过的书的时候想法真

的很不一样一样了,后续我要将自己看过的一些书的笔记整理下来,一是对整理下自己的思路,也为自己以后的学习提供参考,当

然如果能碰巧帮上别人那是我最大的荣幸!~

最近在看Effective C++这本书,这是我第二遍看,感觉比第一版深,后续将自己的学到的东西记录下!

C++是一门复杂的语言,你学的越深会越感觉到他的复杂,当你感觉到C++中到处都是坑的时候,我感觉也就慢慢的开始

入门了,C++就想是一个联邦体,他是有很多的模块组合成的:主要有四个模块:

1. C。C++是由C语言继承而来的,必然对C有很好的兼容性,这一部分主要包括C中的一些语言,库函数等,对于C中

的一些头文件在C++中都做了一些标志,以用来说明这些事C++从C中继承来的,例如:stdlib.h 在C++中就可以用cstdlib来

代替,C++中库函数一般都是不是以.h结尾的,当然自定义的头文件除外,(个人感觉,无任何参看,可能是错的)!

2.C with class。这个是C++的核心,也就是通过这个来实现了C语言中的由面型过程的编程转变为了C++中的面型

对象的编程,通俗的讲就是在C中程序都是由一个个的函数模块构成的,当然全局的变量除外,在C++中是有多个的类组合而成的,

除main,友元函数,全局变量外,没有其他的函数,这里也定义了C++的特征:封装(类的定义)、继承(子类是特殊的父类)、多

态(主要通过虚函数实现,同样类型的参数可以传入不同的实参类型以完成不同的函数调用),这个是C++的核心也是C++面向对象

的基础,要能真正的理解。

3.template C++。指的是C++中的模板编程,这一部分可能是最容易被人忽略的,我这一部分也是学习的比较弱,相

关的书也不是很多,明天将入手一本,打算好好的看一下,这一部分主要是泛型编程,一开始可以简单的理解为对于一个函数或者

是一个类,我们在使用的时候要指定这个函数或者类要处理的类型,这样如果多个类型具有相同的处理过程,那么我们就可以将这

个函数作为一个模板的形式,将要处理的参数抽象出来,可以动态的绑定!

4.STL。标准模板库,主要是以template C++为基础实现的,里面提供了很多有用的类和对应的算法,帮助我们很好

的结果了C语言中要自己去解决的问题,主要有容器(数组就是一个特殊的容器)、迭代器(智能指针,之所以用迭代器是为了通用

性)、算法(包括容器特殊的算法和容器间通用的算法)、函数对象(能想函数一样被调用的对象,通过重定义对象中的()操作符来完

成的)、适配器(可以理解为修改了容器接口实现的一种容器),这一部分是c++强大的后盾,学习C++。不能不学STL,不仅会用最

好能知道STL中成员的实现方式,这样就能更加高效的使用!

在C++中的不能模块,编程的方式可能会用所不同,要想高效的使用她们,必须对他们的内部的实现有一定的理解,并

且的不断犯错的基础上才能真正的熟练!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值