关于c++的一些自我认识(1)

来源:互联网 发布:如何提高记忆力 知乎 编辑:程序博客网 时间:2024/06/05 00:52

今天突然心血来潮想写点博文复习一下刚刚学完的c++和以前犯的低级错误~

用来勉励和敦促自己,以后犯错了也方便再回来看看:

1.一步到位的字符串复制

while((*str2++=*str1++)!='\0');

2.条件判断中如whie(a&&b)&&或‖前面的要是不成立就不判断后面的了

3.c++中,重载函数允许使用同一个函数名,但变量类型必须不同(或者变量个数不同,如f(a,b)和f(a,b,c))并且每一种情况必须都编译一遍,如int fun,double fun,因此可以把两个或以上fun功能设置成一样,输出不同类型就不必记不同的函数名称了;需要注意定义时int和float会自动被强制类型转换

4.定义变量时若不立刻赋值,他就会被分配到一块值为0的内存区.所以const int a;a=4是错的.int p= new int ;此时的p为0,所以if(!p)用来观察是否new成功

5.for循环没有i+2只有i=i+2

6.函数不能相互赋值,如fun(a)=fun(b)是错误的,除非先令fun(a)=a;fun(b)=b;a=b;

7.指针中(*p).fun()等价于p->fun()

8.定义f a后必须立刻赋值;即f a(6);f a=b;否则会调用空构造函数(若已经定义别的构造函数而没定义空构造函数则会报错)

9.sizeof(类型名)表示类型占内存的字节数.自定义类型长度为所有私有成员类型长度之和如class f{private:int a,b}则sizeof(f)=8

10.析构函数在定义对象为指针时发挥作用,因为指针不会自动返回内存,通过析构函数才能释放

0 0
原创粉丝点击