码迷,mamicode.com
首页 > 编程语言 > 详细

C++学习备忘(一)

时间:2016-03-11 08:54:09      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

1. C++ 内存使用分为堆、栈:栈是相对静态的,系统自动释放,一般是固定大小,固定位置的,如 int a, double d,int[100]等,堆是相对动态的,通常有new,malloc 行为产生,系统不会自动释放堆的内存。Delete 会触发析构函数。

  例如:

void Test()

{

Int x = 1;//  函数执行后自动释放

Int *p = new int(1);// 函数执行后不会自动释放需要手动释放;

Delete(p);//释放

P=NULL; // 如果后面还有进一步操作必须至NULL 在应用时检测是否为空!

}

 

2. C++ 的变量不会自动初始化,需要手动初始化 。例如:int x=0。对于全局或是静态的变量,声明时就要初始化,因为不知道什么时候会第一次被调用,

 

3.带初始化的全局变量不要定义在h文件中,定义在cpp中使用extern

4.C++进行覆盖时,在父类头文件中要加virtual 在 父类 Cpp 文件中不需要加 virtual

  子类不需要加 override,调用被覆盖的父类方法时使用父类限定名加“::”,如 在 BaseClass::F()。子类的构造函数会默认调用父类的无参数构造函数,如果需要调用父类特定的构造函数需要显示声明如AITank::AITank(void):Tank();

5.C++ 在类内使用常量的时候只能使用  static const int 不能使用其他类型 如 float

6.C++ 多项目配置,调用分静态和动态,静态用lib动态用dll,同一个解决方案下一般有一个exe项目,多个lib项目,生成结果单独一个exe即可使用,项目添加引用lib分三步:

  1>C/C++添加include,包含头文件文件夹;

  2>在linker或librarion中添加lib文件名;

  3>在linker或librarion中添加lib文件路径

 注意:可使用相对路径和$(dir)等形式,有待以后研究。

C++学习备忘(一)

标签:

原文地址:http://www.cnblogs.com/shouce/p/5264201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!