C++学习笔记:如何学习C++?

         C++是一种面向对象的程序设计语言,一句轻描淡写的"面向对象"看似平凡却不简单。C++为了兼容C语法组合大量增加,给初学者带来了很大的困扰,本文旨在抛砖引玉,介绍一种如何来很好的掌握C++的方法论。

         C++是对应于C的一种扩展,即使对于有C基础的人来说,学习C++也并非易事,主要问题有两个

语法:

        有人说C语言是最难的编程语言,因为我们要充分了解计算机的底层原理,而我认为C++是最复杂的编程语言,我们的学习路线必须要很明确就是从C到C++。C++语法难点在于引入了命名空间(类也是一种命名空间机制,后面的博文会有介绍)机制和加入面向对象继承,封装,多态等特性后带来的一系列问题,这些问题十分繁复,容易绕晕初学者C++语法组合虽然十分复杂但却有规律可循,我们在学习C++的时候要站在C++编译器的角度来看待问题,那么这些问题就会迎刃而解。

        后面的博文我将和大家一块探究C++编译器的工作原理,详细介绍 引用,类,命名空间,多态等技术 的编译器实现机理,然而再大的篇幅也不可能涵盖C++这门编程语言中的边边角角,这只是一种方法论,教我们在遇到问题时如何去思考。下面是预计的后期博文目录:

C++学习笔记(一):探究C++引用的本质
C++学习笔记(二):探究C++Const常量的本质
C++学习笔记(三):探究C++命名空间的本质
C++学习笔记(四):探究C++类的本质
C++学习笔记(五):探究C++函数重载的本质
C++学习笔记(六):探究C++继承的本质
C++学习笔记(七):探究C++多态的本质
C++学习笔记(八):探究C++模板机制
C++学习笔记(九):探究C++异常处理机制


注:后面的博文完成后笔者会将超链补齐!

思想:

        软件过程并不是直接跨越到对象化的,而是由过程化慢慢发展到对象化的。我们不禁要思考,为何先出现的是过程化思想?为何又会慢慢演变成对象化?答案是面向过程的思维更符合人类的行为习惯,解决一个问题最先考虑就是如何去做,我们观察一个事物最先看到都是它的行为,而忽略了其本质,这种错觉的引导就决定了对于行为的抽象是符合人们的思维习惯的。什么是行为?行为就是一个动作!动作什么?动作就是一个过程!这就面向过程思想诞生的原因,也是面向过程先与面向对象原因。 
        面向对象思想不可能一蹴而就,特别是对于那些面向过程思想已经根深蒂固的C程序员们,更是难以接受。现在的软件过程大都是面向对象的思想,然而当你真正使用面向对象思想来实现一个完整的软件过程的时候,你会发现并非设计出合理的类或接口那么简单。
        后面的博文我将和大家一起学习24种设计模式,然后身体力行使用面向对象的思想来实现一次软件过程。
设计模式学习(1):简单工厂模式
设计模式学习(2):策略模式
设计模式学习(3):装饰模式
设计模式学习(4):代理模式
设计模式学习(5):工厂模式
设计模式学习(6):原型模式
设计模式学习(7):模板方法模式
设计模式学习(8):外观模式
设计模式学习(9):建造者模式
设计模式学习(10):观察者模式
设计模式学习(11):抽象工厂模式
设计模式学习(12):静态模式
设计模式学习(13):适配器模式
设计模式学习(14):备忘录模式
设计模式学习(15):组合模式
设计模式学习(16):迭代器模式
设计模式学习(17):单例模式
设计模式学习(18):桥接模式
设计模式学习(19):命令模式
设计模式学习(20):职责链式模式
设计模式学习(21):中介者模式
设计模式学习(22):享元模式
设计模式学习(23):解释器模式
设计模式学习(24):访问者模式

其中吧简单工厂和工厂区分了下,博文中会结合UML图分析各种设计模式的原理,以及实现。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值