Effective C++ 条款01解读: 视C++为一个语言联邦
来源:互联网 发布:淘宝店铺代运营广告 编辑:程序博客网 时间:2024/05/21 20:29
我在C/C++语言社区中混迹过一段时间, 发现有一种不太好的现象: 某些C程序员看不起C++, 以显得自己很牛逼。 当然, 一些人尝到C++的甜头后, 又看不起C. 其实, 何必这样呢? 任何语言都有自己的用武之地。 比如, 在图像处理领域, C语言确实让人不敢恭维, 但在嵌入式领域, matlab又能算什么东西呢?
C++最初还是从C语言发展来的, 随着C++的慢慢发展, 它逐渐变得更加强大, 不再拘泥于C的那一套了, 如今的C++已经演变为一个多范式的语言了, 下面, 我们来分别了解一下。
一. 面向过程
C++的面向过程实际上是从C语言中带过来的,但增加了默认参数, 重载, inline, 引用等。仅仅从这一条来讲, 可以大致认为C是C++的一个子集。说白了, 还是函数式的。
二. 基于对象
在基于对象的C++中, 有对象, 有类, 有继承。 一些从C语言走过来的人, 喜欢在这一层打转, 体验到了继承的快感。
三. 面向对象
在《C++编程思想》的第一卷中, 循循善诱的作者Bruce Eckel说: 别犯傻了, 别停在基于对象的层面。 其实, 意思就是说, 既然来看对象了, 那怎能不看看这么漂亮的对象呢? 所以, 要面向对象, 直面对象, 脸不要红。 C++面向对象的意思就是说:同一消息, 触发不同操作。 当然, 这些是通过虚函数来实现的。
四. 泛型编程
大家常常挂载嘴边的模板, 实际上就是泛型编程。 STL中的很多容器(比如vector)其实就是一种类模板。 当然, 函数也是可以有函数模板的。
五. 基于组件
要是把微软的COM给硬拽进来, 那就权当算基于组件的编程吧。
当然, 在Effective C++中, Scott Meyers大师并不完全是这么讲的。 不过, 我认为大同小异。
C++不是一门纯粹的语言, 所以, 我们也不用太纠结太较真, 该用啥就用啥。
生活本来就是这样的, 是哪个季节, 就该做这个季节的事情,别太纠结。好了, 马上洗漱睡觉了。 明天周一, 开开心心, 认真工作。
- [Effective C++] 条款01:视C++为一个语言联邦
- 《Effective C++》学习笔记条款01 视C++为一个语言联邦
- Effective C++ 条款01解读: 视C++为一个语言联邦
- effective C++(第三版)读书笔记一——条款一:视C++为一个语言联邦
- 菜鸟读《Effective C++》条款1:视C++为一个语言联邦
- effective c++条款1:视C++为一个语言联邦
- Effective C++ ——》条款01:视C++为一个语言联邦
- Effective C++ 读书笔记之----条款01:视 C++ 为一个语言联邦
- 【Effective c++ 读书笔记】条款01 视 C++ 为一个语言联邦
- 《Effect C++》学习------条款1 视C++为一个语言联邦
- 条款1 视c++为一个语言联邦(如何理解c++)
- 条款01:视C++为一个语言联邦
- 条款01:视C++为一个语言联邦
- 条款01:视c++为一个语言联邦
- 条款01:视C++为一个语言联邦
- 条款01:视C++为一个语言联邦
- 条款01:视C++为一个语言联邦
- 条款01 视c++为一个语言联邦
- clog,cout,cerr 输出机制
- Java之CyclicBarrier使用
- Allegro里隐藏GND或者电源网络的鼠线/ 显示隐藏的鼠线,修改网络颜色
- 听Jake Wharton讲如何成为更优秀的开发者与创建一个成功的开源项目
- Daily mood
- Effective C++ 条款01解读: 视C++为一个语言联邦
- 如何让两个div并排同行显示
- 黑马程序员——Java面向对象(三)之内部类、异常、包等
- Android 中 ViewFlipper 的简单实例
- Hadoop的一个变长long编码剖析
- Light OJ 1040 Donation
- 在Servlet Filter中使用Spring容器
- Determining IP Information for eth0
- android http通信