Post

【C++】没有用的知识

[CPU眼里的:编程知识]

关注没有用的知识

1.main函数

  • main函数和其他函数一样,只是在编译器结束的时候会指定该函数作为程序的入口,我们也可以通过命令来使其他函数作为程序的入口;

2.变量

  • 每一个变量都对应一个内存地址;
  • 占用空间的大小跟变量的类型有关;
  • 临时/栈/局部 变量 在不同的线程下会有不同的内存地址,即使是同一线程,不同调用轨迹下,地址也会不一样;

3. i++ VS ++i

  • i++和++i都是函数调用,且都有返回值,i++的返回值是入参及i的传入值,++i的返回值为i的引用;
  • i++是右值,++i是左值;
  • i++都是对i进行了++操作,但是从编译的角度讲,++i是直接对i进行了++操作,而i++是构建了临时变量再++,因此,对于复杂的类的++操作建议用++i,但是对于int等基础数据类型的话可以忽略不计,因为对应下来也就多了两条汇编指令;

4.this指针

  • 所有的函数都会隐式的传入一个this指针;
  • this指针

5.构造函数

  • 构造函数也会传入一个this指针进入构造函数;
  • 如果该类中存在虚幻数,则构造函数会存放虚函数表的地址;
  • 在实现多态的时候,子类的构造函数会对应子类的虚函数表构造函数;
  • 虚函数表的生成是早于构造函数的;

必学:CPU眼里的:编程知识

下一篇:[]


​ “Time after time have given me new courage to face life cheerfully, have been Kindness, Beauty, and Truth. “ —Albert Einstein


This post is licensed under CC BY 4.0 by the author.