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

  C++是一个支持多重范型的编程语言,一个同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式的语言。

  视C++为一个语言联邦,主要有4个次语言。

  C。包括区块、语句、预处理器、内置数据类型、数组、指针等来自C。

  Object-Oriented C++。即C with Classes,包括classes、封装、继承、多态、动态绑定。

  Template C++。即C++泛型编程。

  STL。它是一个template程序库,包括容器、迭代器、算法以及函数对象等部分。

  当从某个次语言切换到另一个时,常常需要改变编程策略。

  

时间: 2024-10-14 06:19:49

条款1:视C++为一个语言联邦的相关文章

Effective C++_笔记_条款01_视C++为一个语言联邦

(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) C++的各种能力和特性使它成为一个无可匹敌的工具,但也可能引发某些迷惑:所有"适当用法"似乎都有例外.我们该如何理解这种语言呢?最简单的办法就是将C++视为有相关语言组成的联邦而非单一语言.在它的某个次语言中,各种规则与通例都相对简单.然而从一个次语言移往另一个次语言,守则可能改变. C++主要的次语言有四个: 1 C 所到底C++以C为基础.区块.语

Effective C++ 之 Item 1: 视C++为一个语言联邦

Effective C++ Chapter 1. 让自己习惯C++(Accustoming Yourself to C++) Item 1. 视C++为一个语言联邦(View C++ as a federation of languages) 将 C++ 视为由四个次语言组成的语言联邦,在某个次语言中,各种守则与通例都倾向于简单.直观易懂.且容易记住.但从一个次语言移往另一个次语言,守则可能改变. C -- C++ 以 C 为基础.区块(blocks).语句(statements).预处理器(p

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

C++可以看做包括以下次语言: C-based 面向对象C++ C++模板 标准模板库

EC笔记,第一部分:1.视C++为一个语言联邦

C++可看作由以下四种次语言组合而成1.C语言    高效,内置数据类型,数组,区块,语句,指针,预处理器,没有重载.异常.模板2.类    构造,析构,封装,继承,多态,迟绑定3.模板    模板元编程,不关心数据类型,只关心数据结构与算法4.STL    标准模板库,容器,迭代器,算法,函数对象

读书笔记_Effective C++_条款一:将C++视为一个语言联邦

C++起源于C,最初的名称为C with Classes,意为带类的C语言,然而,随着C++的不断发展和壮大,在很多功能上已经远远超越了C,甚至一些C++程序员反过来看C代码会觉得不习惯. C++可以看成由四个部分组成,分别是: (1) C.C++从语法和代码风格上以C为基础,这也正是C++命名的由来,是在C的基础上++.有意思的是,在<C++ Primer>这本书里有一个问题,问为什么C++叫"C++"而不叫"++C"呢?原因很简单,C++具有深厚的C

条款1:将c++视作一个语言联邦

c++是一个多重泛型编程语言,其所支持的泛型有: 面向过程编程(procedual) 面向对象编程(object-oriented) 面向函数编程(functional) 泛型编程(generic) 元编程模式(metaprogramming):元编程模式是什么模式,没读懂就是了

《Effective C 》资源管理:条款25--考虑写出一个不抛出异常的swap函数

条款25考虑写出一个不抛出异常的swap函数 条款25:考虑写出一个不抛出异常的swap函数 swap是STL中的标准函数,用于交换两个对象的数值.后来swap成为异常安全编程(exception-safe programming,条款29)的脊柱,也是实现自我赋值(条款11)的一个常见机制.swap的实现如下: namespace std{ template<typename T> void swap(T& a, T& b) { T temp(a); a=b; b=temp;

条款25:考虑写出一个不抛异常的swap函数

条款25:考虑写出一个不抛异常的swap函数 swap函数在C++中是一个非常重要的函数,但实现也非常复杂. 看一个缺省的std::swap函数的实现 namespace std { template<typename T> void swap( T& a , T& b) { T temp(a); a = b; b = temp } } ①内置类型的调用 int a = 2; int b =3; std::swap(a, b); cout<<"a:&quo

【转载】快速掌握一个语言最常用的50%

原文:快速掌握一个语言最常用的50% 现在的开发工作要求我们能够快速掌握一门语言.一般来说应对这种挑战有两种态度:其一,粗粗看看语法,就撸起袖子开干,边查Google边学习:其二是花很多时间完整地把整个语言学习一遍,做到胸有成竹,然后再开始做实际工作.然而这两种方法都有弊病.第二种方法的问题当然很明显,不仅浪费了时间,偏离了目标,而且学习效率不高.因为没有实际问题驱动的语言学习通常是不牢固不深入的.有的人学着学着成了语言专家,反而忘了自己原本是要解决问题来的.第一种路子也有问题,在对于这种语言的