条款1:将c++视作一个语言联邦】的更多相关文章

(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) C++的各种能力和特性使它成为一个无可匹敌的工具,但也可能引发某些迷惑:所有“适当用法”似乎都有例外.我们该如何理解这种语言呢?最简单的办法就是将C++视为有相关语言组成的联邦而非单一语言.在它的某个次语言中,各种规则与通例都相对简单.然而从一个次语言移往另一个次语言,守则可能改变. C++主要的次语言有四个: 1 C 所到底C++以C为基础.区块.语句.预处理…
一开始,C++只是 C 加上一些面向对象的特性.C++最初的名称 C with Classes 也反映了这个血缘关系. 但是,现在,当这个语言逐渐成熟,它变得更活跃更无拘束,更大胆冒险,开始接受不同于 C with Classes 的各种观念.特性和编程战略. 今天的 C++ 已经是个多重泛型编程语言,一个同时支持过程形式.面向对象形式.函数形式.泛型形式.元编程形式的语言. 那,我们又该如何理解这样一个语言呢? 最简单的办法是将 C++ 视为一个有相关语言组成的联邦的而非单一语言. 为了理解C…
c++是一个多重泛型编程语言,其所支持的泛型有: 面向过程编程(procedual) 面向对象编程(object-oriented) 面向函数编程(functional) 泛型编程(generic) 元编程模式(metaprogramming):元编程模式是什么模式,没读懂就是了…
Item 1 将c++视为一个语言联邦 如今的c++已经是一个多重泛型变成语言.支持过程化,面向对象,函数式,泛型和元编程的组合.这种强大使得c++无可匹敌,却也带来了一些问题.所有“合适的”规则看上去都有例外.我们怎样理解这样一门语言? 最容易的方法是不要将其看成单一的一门语言而是将其看成是一个有相关性的语言的联邦.在一个特定的子语言中,一些规则就比较简单,明确并且容易记忆.当你从一个子语言切换到另外一个子语言时,这些规则可能会改变.为了更好的理解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…
1.C++是个多重范型编程语言:面向过程,面向对象,函数编程,泛型形式,元编程形式. 2.C++是一个语言联邦,包括四个次语言: a.C语言,C++以C语言为基础.但C语言有下列局限:没有模版,没有异常,没有过载. b.面向对象C++,包括继承,封装,多态,抽象. c.Template C++,泛型编程,可以生成代码的代码. d.STL,标准库容器,迭代器,算法,方法对象.…
一开始C++定义为:C with Classes. 如今的C++已经是一个多重范型编程语言,可以把C++视为有四个次语言组成的联邦语言. C.C++任然以C为基础.区块.语句.预处理.内置语言类型.数组.指针等.搞笑编程守则映射出C语言的局限:没有模版.没有异常.没有重载. Object-Orited C++.这部分是C with Classes诉求的:class.封装.集成.多态.virtual函数等. Template C++.模版威力强大,带来了崭新的泛型编程,即TMP(模版元编程). S…
C++起源于C,最初的名称为C with Classes,意为带类的C语言,然而,随着C++的不断发展和壮大,在很多功能上已经远远超越了C,甚至一些C++程序员反过来看C代码会觉得不习惯. C++可以看成由四个部分组成,分别是: (1) C.C++从语法和代码风格上以C为基础,这也正是C++命名的由来,是在C的基础上++.有意思的是,在<C++ Primer>这本书里有一个问题,问为什么C++叫“C++”而不叫“++C”呢?原因很简单,C++具有深厚的C的底蕴,++C也许得到的是D,象征着另一…
C++是门多范式语言,至少包括面向过程,面向对象,泛型,函数式,元变成等. 但谨记,不要随意混合使用各种特性,为自己制定使用原则,针对不同项目.业务. 如: 类C风格编程:没有模板,没有异常,没有重载等. 面向对象:封装,继承,多态等. 模板编程:一般用于底层库的编写,大量使用模板. STL:有自己的原则,有异常. PS:这四个次语言的界限并非定死,可根据自己需要组合.…
四个次语言 C Object-Oriented C++ Template C++ STL…