标签:
Item 1: View C++ as a federation of languages
最初,C++只是C语言加上一些面向对象的特性,所以C++的原名是“C with Classes”。 现在的C++已经逐渐成熟,成为一门多范式的程序设计语言(multiparadigm programming language)。同时支持过程式、面向对象、函数式、泛型编程,以及元编程。
C++的灵活使得它在很多问题上并没有统一的规则,而是取决于具体的程序设计范式和当前架构的设计意图。这样的情况下,我们最好把C++看做是一系列的编程语言,而非一种特定的编程语言。
C++有四种主要的子语言:
总之C++并非单一的一门语言,它有很多不同的规则集。因而C++可以被视为四种主要子语言的集合,每个子语言都有自己的程序设计惯例。
C++程序设计的惯例并非一尘不变,而是取决于你使用C++语言的哪一部分。例如, 在基于C语言的程序设计中,基本类型传参时传值比传引用更有效率。 然而当你接触Object-Oriented C++时会发现,传常量指针是更好的选择。 但是你如果又碰到了STL,其中的迭代器和函数对象都是基于C语言的指针而设计的, 这时又回到了原来的规则:传值比传引用更好。
除非注明,本博客文章均为原创,转载请以链接形式标明本文地址: http://harttle.com/2015/07/19/effective-cpp-1.html
版权声明:本文为博主原创文章,转载请附上原文链接。
Item 1:将C++视作一系列的语言 Effective C++笔记
标签:
原文地址:http://blog.csdn.net/yangjvn/article/details/47806869