c++基础,长期更新

 今天在写操作系统的作业,发现c++的很多基本语法都忘了,现在自己把基本语法总结一遍。方便以后复习。
 **1.构造函数:**
 父类构造函数 -> 类成员的构造函数 -> 自己的构造函数

 **2.初始化列表:**
 这里有个博客挺好       http://www.cnblogs.com/graphics/archive/2010/07/04/1770900.html
 我的总结:
Test1 test1 ;
    Test2(Test1 &t1):test1(t1){}
 Test1 test1 ;
    Test2(Test1 &t1)
    {
        test1 = t1 ;
    }

第2种test1需要执行一次默认构造函数+一次赋值操作
第1种test1只需要执行一次拷贝构造函数

特别的:下面情况只能用初始化列表
* 类成员没有默认构造函数
* 类成员是引用类型(只能初始化,不能赋值)
* 类成员是常量(只能初始化,不能赋值)
* 多个初始化列表,不是按初始化列表顺序,而是按声明顺序

结论:* 尽可能用初始化列表
* 初始化列表顺序和声明顺序一致

3.extern 外部的,extern 只是起一个declare作用,可以用来修饰变量和函数,表示该函数的定义在其他模块中,也就是说,如果你在a.cpp文件中定义a=1;在b.cpp文件中声明extern a;则可以引用a.cpp中的a。

4.#ifdef表示条件编译

5.#define 和 typedef的区别:
define预处理,无脑替换
typedef是别名,不一样。
define INT int*
typedef int* INT
则 INT a,b:
typedef: int* a,b: a,b都是int*
define: int*a,b : a是int*,b是int

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值