C++primer plus和C++ primer的读书心得

C++两本巨著primer plus和primer太过于经典,以至于读过多次,每次阅读仍然有新的收获,所以将一些零碎的知识点整理在这里,与大家共同进步。

1.i++与++i的效率比较:

    前缀效率高,后缀在递增前需要一个副本。

2.typedef和define的区别

    define进行简单的替换,但是typydef可能带有类型。

    #define float_32 float*
    typedef float* float_32_1;
    float_32 ptr1, ptr2;
    float_32_1 ptr3, ptr4;

ptr2是float,其他是是指针。

3.关于char类型

   char类型有没有符号取决于实现。

char ch;

while(ch = cin.get()!=-1)//可能存在的问题,char为unsigned

{cout<< ch;}

4.关于&&和||优先级的问题

   &&优先于||

int y=1,x=2;

int z=y||x++&&++x;

cout<

  最后输出的y=1,x=2.因为||截断。优先级只能保证结合的方式,int z=y||(x++&&++x),但是不能保证执行的顺序。

5.二维数组传参的方式

int data[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12}};

int sum(int (*data)[4] , int n){

}//或者 int sum(int[][4],3){}

6.泛型中函数匹配,最佳到最差:

(1) 完全匹配//非const优先非const,在指针和引用的情况下

你可能感兴趣的:(语言,c++)