C++ Primer Plus学习笔记

1.int main()有返回值,return
2.cout<<“yyyy”
<<“kkkk”
<<end1;
3.函数使用要有原型,与定义区别。不能在函数定义{}中用其他函数。每个函数定义时独立的。
4.using namespace std;using编译指令 。P29
5.数组存储多个同类型的值,长度固定。
结构存储多个不同类型的值
指针是将数据的位置告诉计算机的变量
vector可以代替数组,长度可变
array可代替数组,但是效率比数组低,数组则不方便不安全,长度固定。
6.索引是从0开始的,所以长度都比索引最大值大1.所以使用数组和array时,定义array<int ,2>arr;arr[2]产生了越界异常
7.cin.get(name1,Arsize) 输入cin P67
8.struct 格式,先在main()之前定义,一般外部定义(结构体的声明位置很重要)。注意,要让结构中的对象能访问std,如果在main()前,using在main()中编译。那么,举例,struct name1{std::string name;}//访问std
9. 结构体struct 标记的成为新类型的名称,用法类似int,double,可以用来定义变量类型。
10. 结构体+共用体(union)的用法比较常见,union适用于要么要么的情况,可以节约内存。
11. 指针,最好这样定义:int number=5;int* p1=&number;最好别分开。指针命名马上初始化,当我们不知道给指针变量初始化什么的时候我们一般初始化为NULL:char* p=NULL。
12. 指针的定义,P82
13. 指针运算改变不了指针指向地址内的值,表示指向的地址的变化。如指针加1 P90
14. @@@@重要的是,多使用new新建动态空间。new就是新建一种类型的动态空间,注意1.声明什么类型,指明所以空间的大小 2.new空间用完后,必须用相同格式的delete来清除空间 3.delete清除时注意,空间必须与new地址相同(比如 intp1=new int[3];p1=p1+1;此时清除要先进行,p1=p1-1;delete[] p1;)
15. new 用法 动态数组 P84 P86 动态结构体P94
16. array,1.有头文件 2.格式 array<name,number>arr;number是固定的值,不能说变量!!! 3.注意arr[number]这种情况是越界异常的。索引从0—number-1.特别在for循环中,最后一步,i++还是+1了。使用时注意最大值。
17. switch 中,1.注意和枚举的使用 2.要加break;格式,但是switch中的break;只是停止switch,不停止循环。3.可以在switch中加入无关的变量,用作测试的值,运算,来观察switch是否成功。4.switch 不是循环,不会循环的!!!(switch相当于多个if,else if…)!!!不是循环,break;只是用来停止接下来的判断
18. 题目8.2遇到的问题,结构体中,命名char brand[10],然后在函数中,引用结构体, 赋值brand[],出现 不是左值 的问题。但是用string brand,就可以了,是左值。为什么?结构体中字符串用string ,尤其在没有个数的情况下。
19. ++a是左值,a++不是左值。所以可以对++a赋值,而a++不行。
20. 字符串指针初始化:这里要注意,char
a="ttt"这是不可以的,因为"ttt"是const char*,是不能修改的。char a[4]="ttt"是可以的,因为他知道了a的大小,因此可以首先创建大小为4的char数组,然后将“ttt”赋值进去,你如果不告诉他大小,自然不能就这么给他。如果要把一个const char的字符串赋给char,不能用=号,只能用strcpy!!!
21. 指针:char* ardss=arr[i];而不是char* ardss=&arr[i]
22. 指针:int x=1,y=2,z[10];int *ip;//ip是指向int 类型的指针。ip=&x;//ip现在指向x。y=*ip;//y的值现在是1。*ip=0;//x的值现在为0。ip=&z[0];//ip现在指向了z[0];
23. 临时变量,不能返回引用。所以避免的方法,返回一个作为参数传递给函数的引用,避免返回临时的变量引用或者临时变量的指针。但是注意,如果返回传递的参数引用,注意函数是否改变了传递的参数。 如果还要用到参数(参数不能改变),大不了不用引用,使用临时变量,返回临时变量。习题11.7.(运算符的重载)
24.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值