effective C++学习笔记第一天

来源:互联网 发布:python 真假 编辑:程序博客网 时间:2024/06/06 00:16

   1.视C++为一个语言联邦

  为了理解C++ ,必须认识其主要的次语言。幸运的是总共只有四个:

  (1)C ,说到底C++ 仍是以C 为基础。blocks,statements,preprocessor,built-in data types,arrays,pointers

  (2)Object-Oriented C++。这部分也就是C with Classes 所诉求的

  (3)Template C++。这是C++ 的泛型编程(generic programming) 部分 ,是大多数程序员经验最少的部分。

  (4)STL. STL 是个template 程序库


   2.尽量以const, enum, inline 替换#define

   (1)因为#define不被视为语言的一部分。

    #define ASPECT RATIO 1.653 改为:const double AspectRatio = 1.653:  //大写名称通常用于宏,

    使用常量可能比使用#define 导致较小量的码,

  

   3.尽可能使用const

    (1)const它允许你指定一个语义约束,而编译器会强制实施这项约束。

    有关指针的const,指针自身,指针所指物体,两者都(或都不)是const

     如:

char greeting[] = "Hello";

char* p = greeting;             //非const指针,非const数据

const char* p = greeting;       //非const指针,const数据

char*const p = greeting;       //const指针,非const数据

const char* const p = greeting; //const指针,const数据

     通常,键字const 出现在星号左边,表示被指物是常量

                     出现在星号右边,表示指针自身是常量  (P18). 


0 0
原创粉丝点击