天辰代理-天辰代理

  天辰代理-天辰代理【主管╇QV:555333】天辰代理【╇QV:555333】《优_质_平_台《《_《《置_顶_待_遇《《一步到位》》函数签名

  int f(int a,int b)

  ↑↑↑↑

  返回类型函数名形式参数

  其中,函数名+形式参数=函数签名(function signature)。

  引用变量

  int a=1;

  int&b=a;

  a++;

  cout<<a<<‘‘<<b<<endl;//2 2

  天辰代理-天辰代理【主管╇QV:555333】天辰代理【╇QV:555333】《优_质_平_台《《_《《置_顶_待_遇《《一步到位》》注意引用变量的声明方式,&写在等号左边是引用变量的声明,写在右边就是取址符。

扫描二维码关注公众号,回复: 11177839 查看本文章

  变量默认初始化

  非Static的Local变量,默认初始化为任意值//Local的Static变量默认初始化为0

  Global或Static变量,默认初始化为0(指针为NULL,NULL也是0)

  Null Terminator‘\0‘

  char s1[]={‘a‘,‘b‘,‘c‘,‘d‘,‘e‘};

  char s2[10]={‘a‘,‘b‘,‘c‘,‘d‘,‘e‘};

  char s3[]={‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘\0‘};

  char s4[10]={‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘\0‘};

  char s5[]="abcde";

  char s6[6]="abcde";//若char s6[5]="abcde";则编译出错

  cout<<s1<<‘‘<<strlen(s1)<<endl;//abcde#‘7

  cout<<s2<<‘‘<<strlen(s2)<<endl;//abcde 5

  cout<<s3<<‘‘<<strlen(s3)<<endl;//abcde 5

  cout<<s4<<‘‘<<strlen(s4)<<endl;//abcde 5

  cout<<s5<<‘‘<<strlen(s5)<<endl;//abcde 5

  cout<<s6<<‘‘<<strlen(s6)<<endl;//abcde 5

  这里面有几个知识点:

  比较s1和s3,之所以s1多输出一些奇怪字符,就是因为没有加终止符‘\0‘

  比较s1和s2,数组若分配了大小,则C++会自动在字符串末尾添加‘\0‘(其实这一点很容易想到,因为分配了大小的数组,如果元素没有被填满,则剩余元素均会被初始化为0,而0就是‘\0‘)

  比较s1和s5,s5_直接写成字符串的形式,C++会自动在字符串末尾添加‘\0‘_

  比较s3和s6,s3中发现终止符‘\0‘并不影响strlen的大小;s6中却发现分配大小时需要将终止符考虑上(好奇怪的一点,也就是说,分配大小需要考虑‘\0‘,而strlen会忽略‘\0‘)

  比较s1和s2,s3和s4,s5和s6,发现数组初始化的大小并不影响strlen。所以strlen的实现方法应该是,遍历数组直到发现‘\0‘,char s={‘a‘,‘\0‘,‘\a‘}的strlen其实是1

  NULL

  源码实现应该是#define NULL 0,所以null和Null都是错的,只有NULL才对。

  *、++、+的运算级别

  *p++你觉得应该是先算p++呢还是*p呢?

  *p+1你觉得应该先算p+1呢,还是*p呢

  int*i,j

  你觉得这样声明的话,j是一个int,还是一个int的指针?

  static

  static变量的初始化——类外初始化

  class A

  {

  static int x;//不能直接在声明的时候初始化

  };

  int A::x=0;//类外初始化必须加上int和A::

  只有static const变量才能直接在类内声明时初始化

  class A

  {

  static const int x=0;

  };

  static函数的调用——通过类名调用

  class A

  {

  public:

  static void f(){}

  };

  A a;

  a.f();//correct

  A::f();//correct

  A.f();//wrong

  注:这里的子类指的是子类的成员函数,而不是子类对象(子类对象在类外)天辰代理-天辰代理【主管╇QV:555333】天辰代理【╇QV:555333】《优_质_平_台《《_《《置_顶_待_遇《《一步到位》》

  public继承、protected继承和private继承

猜你喜欢

转载自www.cnblogs.com/zhangweiqing/p/12825051.html