C++primer plus第4-6章笔记

这篇博客详细介绍了C++ Primer Plus中的第四到第六章内容,包括数组和字符串的新初始化方式,结构体、共用体和枚举的特性,指针的使用以及动态内存分配。此外,还讨论了C++11的基于范围的for循环和文本输入方法,如getline()和get()。文章进一步涵盖了vector和array的创建与使用,以及递增递减运算符的解析。最后,简述了逻辑运算符和I/O输入输出的相关知识。
摘要由CSDN通过智能技术生成

第四章

主要讲解C++的数组,字符串,结构体,指针,动态内存,还提出了两种数组代替品——vector和array.

数组和字符串
  • C++11提供了新的初始化方式:int a[4] {1,2,3,4};
    跟单值数据一样,这种初始化方式不能缩窄。

  • 字符串和字符数组的区别就是字符串以’\0’结尾;
    字符串的初始化:char fish[] = “Bubbles”;自动在末尾加’\0’。
    字符串输入cin会自动根据空白(空格,制表符,换行符)识别不同的字符串,即每次只读取一个单词。

  • getline()可以读取整行,在读取到指定数目的字符或遇到换行符时停止读取。例如cin.getline(name,20);
    get()的功能和getline()一样,只不过不跳过换行符,如果想跳过换行符需要执行get();否则下次读取的第一个字符就是换行符。一般写为cin.get(name,20).get();

  • 在遇到空行时,get()会设置失效位,输入将被阻断,需要输入cin.clear();恢复输入。

  • string类大部分操作和字符数组相同。不同的是string大小可以由程序自行处理,可以声明简单变量。
    string类使得程序可以进行比C风格更简单的操作,例如:
    1)赋值:str1 = “char”;str1 = str2; 字符数组不能相互赋值,代替strcpy(charr1,charr2);
    2)拼接:str1 = str2 + str3; 代替strcat(charr1,charr2);
    3)长度计算:str1.size(); 代替strlen(charr1);
    在数组没有初始化之前使用strlen不能得到字符数组的长度,因为strlen是从第一个元素开始计算字节数,直到遇到空字符,未初始化之前第一个空字符出现位置是随机的。

  • 同样字符数组也有wchar_t, char16_t,char32_t类型。另外提出了原始字符串,开头和结尾用”(和)”来标识,或者在双引号和括号之间加除了空格,括号,斜杠,控制字符以外的字符来标识,例如”+(和)+”

结构体,共用体,枚举
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值