C++笔记1

C++学习笔记1

第二章开始学习C++
  • 过程化编程思想是根据执行的操作来构思程序。使问题满足语言的过程性方法。
  • 面向对象让语言来满足问题的要求。
  • 名称空间可以区分不同版本的代码,比如不停公司开发的相同函数名称的函数。
  • 回车不能放在字符串中间,空格,制表和回车可以被忽略,但是不能放在名称或者单词之间。
  • cout可以实现智能的打印转换,比如打印一个整形变量,变量里面存储的是数值的二进制形式,但是cout可以识别它并且自动转换为字符串输出。其实是用了操作符重载的技术,重载的操作符是<<。
第四章复合类型
  1. 数组的初始化可以在声明的时候进行,可以部分初始化,可以初始化为0。但是不能将数组整个赋值给另外一个数组。java可以,因为java的数组名字本身就是一个引用,可以赋值给另外一个引用。
  2. c风格上的字符串是以\0来结尾的,字符串与char数组是有区别的。‘a’与“a”是不同的,后者是字符串常量,包括一个空字符。初始化的时候不用 显式写出字符串。
  3. 可以使用库函数strlen()来计算存储在数组中的字符串长度。
  4. **字符串输入的特殊性**cin采用空白换行还有制表来判断输入结束。可以采用getline()或者get()函数来实现面向行的输入。例如
char name[40];
cin.getline(name,20);//表示从流中读取20个字符或
//者直到换行符。实际上是19个,最后会自动添加一个空字
//符\0。

get()函数不会存储换行符,但是不会将换行符丢弃,还会将它保留在输入队列中。下一个cin读取时第一个看到就是换行符。可以在输入后面单独调用一个get()来处理掉换行符。cin.getJ()可以读取下一个字符包括换行符。cin也会保留换行到队列中。但是下一个cin可以忽略掉换行符,但是getline却不行。
5. c++可以采用string类来处理字符串的问题,方便。这时候就可以将一个string对象赋值给另外一个string对象了。
6. 共用体union可以存储不同的类型,但是不能同时存储。
7. 枚举类型主要是定义一些常量值,只能是枚举的值,不能是其他的值,具体的值是整数。
8. 指针:一定要在使用*解除地址引用之前将指针值确定下来,否则会出现很大的bug。未初始化之前不能使用,使用new以后就算是初始化了。
9. new和delete要成对的使用,new提供了动态分配内存的能力,如果直接声明则静态分配内存,一直占用。new主要用来生成动态数组。
10. 一般来说,cout会直接打印指针的值,但是如果是指向字符的指针会打印整个字符串。

总结

重新学习C++,确实可以发现很多以前没有注意到的地方,有不同的收获。做笔记的时候只是随便写写,并没有较好的格式,希望以后能够有所改善。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值