新标准c++程序设计教程chapter2_2015.7.21

1、  编程基础知识:

(1)      未初始化的全局变量全部初始化为0,局部变量随机分配(和原值相等);

(2)      默认的构造函数将char 型变量出事化为’\0’,对于debug下的编译,int型的默认值为0xcccccccc(-858993460),double为(-9.25586e+061),出现这两种值应警惕变量未赋值;release下赋值任意;函数、类内部未赋值变量随意赋值,函数、类外部全局变量默认赋值为0;

(3)      定义类的对象时必须在定义时赋初值,例:

complex c1(2,4); complex *c2=new complex(3,4);

(4)      数组的构造函数: CTest array[3]={1,CTest(12),2};必须用大括号括住;

(5)      人为定义构造函数后,默认构造函数失效,默认复制构造函数同,但是默认构造函数不能以本对象作为唯一参数,以免与默认复制构造函数混淆;可以是本类的引用;

(6)      Const T &a;可以防止变量被改变;

(7)      调用复制构造函数有三种情况,第一种是用一个类初始化另一个类,第二种是类作为函数的形参,第三种是类作为函数的返回值;

(8)      对于返回非类参数的函数而言,函数的生命周期只有执行这一行,返回值在返回时会放入缓冲区,在运行完这一行后缓冲区会被销毁;对于返回类的函数而言,当赋值语句的左值为类的引用时,缓冲区不会被立即销毁,而是等到该引用失效后才会被销毁;

例:string fun();{return “some”;}         

int main()

{

const char *c=fun.c_str();

 cout<<c<<end;

string &str=fun();

cout<<str.c_str()<<endl;

return 0;

}

第一个输出为“”,第二个输出为some;

(9)       char *p=new char[10];    delete []p;

         (10)     “=“可重载为复制构造函数;

         (11)     先定义的变量后销毁,变量在内存中以堆栈存储;

         (12)     sizeof(某类)测类的非静态成员变量大小;

         (13)     类静态成员变量的赋值必须在类外,否则会报错;

2、编程技巧心得:

         (1)学习编程按照教材系统学习VS按照项目要求按需去学

         我觉得有必要把一门编程语言系统化的去学习,可以提高编程效率,编程考虑的综合因素,虽然深入学习一门语言会花费较多时间,但是再学习其他语言的时候将会快很多,知识体系一旦成型,学习速度将会快的惊人,所以还是踏实先学好c++吧。

3、遗留问题:

暂无;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值