c++ Primer Plus 第六版第四章学习笔记

1.输入字符串:

cin将空格、制表符、换行符视为字符串的结束位置,所以使用cin输入字符串时只能输入一个单词,而自动将后一个单词视为下一个字符串;cin.getline(字符数组名,字符串长度)和get()是面对行的字符串输入,将换行符视为字符串的结束,但是前者将丢弃换行符,后者将其保留,因此使用get()函数连续输入多个字符串时,应使用cin.get()吸取上一个字符串的换行符。同时注意,当同时使用cin与cin.getline/get函数时,应在使用cin后加一个cin.get,用于吸收前一个输入时所遗留的换行符。

2.string类:

等效于字符串数组,可用与字符串数组相同的访问方式访问,但是string相当于一个简单变量,定义和输出时更简便。不同的string变量之间可以相互赋值,可以使用+将两个string对象相加,可以使用string1+=string2将string2拼接到string1后面。注意:使用string类时,也会遇到使用cin输入非连续字符串问题,且getline()、get()函数可以用于string,但调用方式不同,getline(cin,string)。

3.用R表示原始字符串,不输出转义字符,将转义字符按字面输出;以R“()“表示()中以原始字符输出,也可用R“+*表示原始字符串开头,+*”R表示原始字符串结尾;

4.New、delete

  用于为一个新的数据分配内存空间,但只能用指针的方式访问该变量,而不能用变量名的方式访问,格式: New分配的内存是位于堆和自由存储区,而常规的变量定义的变量存于栈中。

 delete用于使用完new分配的内存后的内存释放,delete pointer_name,用于释放pointer_name所指向的内存空间,但只能用于释放用new分配的内存,且pointer_name指针不会被删除,即pointer_name必须由new定义且释放后可用于指向其他内存空间;若用new分配的是一个数组,则释放内存时应用delete[]的格式。

猜你喜欢

转载自blog.csdn.net/Schlangemm/article/details/83306316