(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) C++的各种能力和特性使它成为一个无可匹敌的工具,但也可能引发某些迷惑:所有“适当用法”似乎都有例外.我们该如何理解这种语言呢?最简单的办法就是将C++视为有相关语言组成的联邦而非单一语言.在它的某个次语言中,各种规则与通例都相对简单.然而从一个次语言移往另一个次语言,守则可能改变. C++主要的次语言有四个: 1 C 所到底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的底蕴,++C也许得到的是D,象征着另一…
Item 1 将c++视为一个语言联邦 如今的c++已经是一个多重泛型变成语言.支持过程化,面向对象,函数式,泛型和元编程的组合.这种强大使得c++无可匹敌,却也带来了一些问题.所有“合适的”规则看上去都有例外.我们怎样理解这样一门语言? 最容易的方法是不要将其看成单一的一门语言而是将其看成是一个有相关性的语言的联邦.在一个特定的子语言中,一些规则就比较简单,明确并且容易记忆.当你从一个子语言切换到另外一个子语言时,这些规则可能会改变.为了更好的理解c++,你必须识别主要的子语言,幸运的是,只有…
一开始,C++只是 C 加上一些面向对象的特性.C++最初的名称 C with Classes 也反映了这个血缘关系. 但是,现在,当这个语言逐渐成熟,它变得更活跃更无拘束,更大胆冒险,开始接受不同于 C with Classes 的各种观念.特性和编程战略. 今天的 C++ 已经是个多重泛型编程语言,一个同时支持过程形式.面向对象形式.函数形式.泛型形式.元编程形式的语言. 那,我们又该如何理解这样一个语言呢? 最简单的办法是将 C++ 视为一个有相关语言组成的联邦的而非单一语言. 为了理解C…
C++可看作由以下四种次语言组合而成1.C语言    高效,内置数据类型,数组,区块,语句,指针,预处理器,没有重载.异常.模板2.类    构造,析构,封装,继承,多态,迟绑定3.模板    模板元编程,不关心数据类型,只关心数据结构与算法4.STL    标准模板库,容器,迭代器,算法,函数对象…
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17288243 加锁(synchronized同步)的功能不仅仅局限于互斥行为,同时还存在另外一个重要的方面:内存可见性.我们不仅希望防止某个线程正在使用对象状态而另一个线程在同时修改该状态,而且还希望确保当一个线程修改了对象状态后,其他线程能够看到该变化.而线程的同步恰恰也能够实现这一点. 内置锁可以用于确保某个线程以一种可预测的方式来查看另一个线程的执行结果.为了确保所有的线程都能看到…
(一)DLR C#4的动态功能是Dynamic Language Runtime(动态语言运行时,DLR)的一部分.DLR是添加到CLR的一系列服务. (二)dynamic类型 dynamic类型允许编写忽略编译期间的类型检查的代码.编译器假定,给dynamic类型的对象定义的任何操作都是有效的,在运行之前编译器不会检测是否存在错误. 例子: dynamic person = "人"; string firstName = person.FirstName; 这两行代码能够通过编译器编…
一开始C++定义为:C with Classes. 如今的C++已经是一个多重范型编程语言,可以把C++视为有四个次语言组成的联邦语言. C.C++任然以C为基础.区块.语句.预处理.内置语言类型.数组.指针等.搞笑编程守则映射出C语言的局限:没有模版.没有异常.没有重载. Object-Orited C++.这部分是C with Classes诉求的:class.封装.集成.多态.virtual函数等. Template C++.模版威力强大,带来了崭新的泛型编程,即TMP(模版元编程). S…
C++是门多范式语言,至少包括面向过程,面向对象,泛型,函数式,元变成等. 但谨记,不要随意混合使用各种特性,为自己制定使用原则,针对不同项目.业务. 如: 类C风格编程:没有模板,没有异常,没有重载等. 面向对象:封装,继承,多态等. 模板编程:一般用于底层库的编写,大量使用模板. STL:有自己的原则,有异常. PS:这四个次语言的界限并非定死,可根据自己需要组合.…
四个次语言 C Object-Oriented C++ Template C++ STL…