视C++为一个语言联邦
来源:互联网 发布:猫池软件 编辑:程序博客网 时间:2024/06/04 19:06
视C++为一个语言联邦
简介
C++是个多重泛型编程语言,同时支持以下形式的语言:
1)过程形式;
2)面向对象形式;
3)函数形式;
4)泛型形式;
5)元编程形式。
理解C++的方法:将C++视为一个由相关语言组成的联邦而非单一语言。在其某个次语言中,各种守则与通例都倾向简单、直观易懂、并且容易记住。当从一个次语言移至另一个次语言,守则可能改变。下面主要介绍C++的主要次语言。
C
C++是以C为基础的。区块、语句、预处理、内置数据类型、数组、指针等都来自C。有时候C++问题的解法就是较高级的C解法。但是C++内的C成分存在局限,没有模板、没有异常、没有重载。
Object-Oriented C++
此语言主要包括Classes(包括构造函数和析构函数),封装,继承,多态,virtual 函数(动态绑定)等等。
Template C++
这是C++的泛型编程部分。templates威力强大,它能带来崭新的编程范性,即template metaprogramming(TMP,模板元编程)。
STL
STL是一个特殊的template程序库。它对容器、迭代器、算法以及函数对象的规约有极佳的紧密配合和协调,然而templates及程序库也可以其他想法建置出来。STL有自己特殊的办事方式。
C++高效编程
C++高效编程守则视情况而变化,取决于你使用C++的那一部分。对内置(如C)类型而言,pass by value通常比pass by reference高效,对Object-Oriented C++,由于存在用户自定的构造函数和析构函数,pass by reference to const往往更好。而Template使用,彼此甚至不知道所处理的对象的类型。STL中迭代器和函数都是在C指针上塑造出来的,故对其而言,pass by value守则适用。
参考:Effective C++ 侯捷
- [Effective C++] 条款01:视C++为一个语言联邦
- 视C++为一个语言联邦.
- item1: 视C++为一个语言联邦
- 视C++为一个语言联邦
- 重读经典-《Effective C++》Item1:视C++为一个语言联邦
- effective C++(第三版)读书笔记一——条款一:视C++为一个语言联邦
- 《Effective C++》学习笔记条款01 视C++为一个语言联邦
- 菜鸟读《Effective C++》条款1:视C++为一个语言联邦
- 《Effect C++》学习------条款1 视C++为一个语言联邦
- 条款1 视c++为一个语言联邦(如何理解c++)
- 《Effective C++》读后总结(一)视C++为一个语言联邦
- 条款01:视C++为一个语言联邦
- Effective C++ 01 视C++为一个语言联邦 笔记
- 条款01:视C++为一个语言联邦
- 条款1: 视C++为一个语言联邦
- 条款01:视c++为一个语言联邦
- 条款1:视C++为一个语言联邦。
- 条款1:视C++为一个语言联邦
- Java类型的程序成长为产品经理的阶段
- C++中string的用法大全
- MSSQL2008链接
- ViewPager详解(二)——自动轮播和手动切换完整示例
- 将所选radio buttons的值相加
- 视C++为一个语言联邦
- Linux笔记(46)——bash变量
- Linux下 undefined reference问题
- 虚析构函数(√)、纯虚析构函数(√)、虚构造函数(X)
- memcached学习笔记(二)
- C++创建单链表
- C/C++中的static关键字的总结
- JVM性能调优
- Android 时间轴实现(RecycleView更高效)