您好!欢迎来到源码码网

C++ Primer Plus 随记2

  • 行业资讯
  • 来源:源码码网
  • 编辑:admin
  • 时间:2020-05-13 16:12
  • 阅读:414

1.声明数组: short months[12]; 访问其元素:month[0]~month[11]

2.初始化数组:(1)int yam[3]={20, 3, 5}; // 列表初始化可省略等号,也可{}不包含数据,元素均初始化为0

(2)int xam[3]; xam[0]=20; xam[1]=3; xam[2]=5;

xam[3]={20,3,5};//错,不允许 xam=yam; //错,不允许将一个数组赋给另一个数组

long ph[]={25, 92, 3.0}; //错,列表初始化禁止缩窄转化,浮点double 转化为长整型 long 为缩窄转化

3. (1)c=sizeof yam; //结果是整个数组的字节数 c=12;

(2)c=sizeof yam[0]; //结果是元素的字节数 c=4;

(3) sizeof yam/sizeof yam[0] 可以用于计算数组元素个数

4. C++标准模板库(STL)提供了数组替代品——vector ,C++11新增模板类array.

5. 在确定存储字符串所需的最短数组时,别忘了将结尾的空字符计算在内。

6. 'S’是一个字符常量, “S”表示两个字符S和组成的字符串。 “S”实际上表示字符串所在的内存地址。

7. 数组初始化字符串常量: char name1[15]=“C++OwBody”;

sizeof (name1)=15 ; // 整个数组长度

strlen(name1)=9; // 存储在数组中的字符串长度,只计算可见字符,不计算空字符和结束字符;

4. 面向行的输入:一般在输入名字变量时应使用面向下一行输入,读取多个单词

(1) cin.getline(name,20);//name:数组名,20:字符数可以读取一行中不超过字符数的多个单词, Enter生成换行符,并将换行符替换为空字符(1) cin.getline(name,20);//name:数组名,20:字符数可以读取一行中不超过字符数的多个单词, Enter生成换行符,并将换行符替换为空字符

(2)cin.get(name,20) ; cin.get(desetr,20) ; //会读到行尾并保留换行符到输入队列中连续2次调用get(),在第二调用看到的第一个字符时换行符,认为以达到行尾,无法继续读取

正确调用方法:cin.get(name,20).get();

5. 空行或其他问题,用以下命令恢复输入: cin.clear();

6. string 对象声明为简单变量,而不是数组,程序可自动处理string 的大小。利用string,加入头文件 #include

7. (1)char charr1[20]; char charr2[20]=“jagura” ;

charr1=charr2; //此句数组赋值语句不合法

strcpy(charr1,charr2); //将charr2复制到charr1

strcat (charr1,charr2); //将charr2附加到charr1末尾,

int len=strlen(charr1); //确定字符串中字符数 strlen()是函数

(2)string str1; string str2=“pather”; str1=str2; //最后一句合法

string str3; str3=str1+str2; str2+=str1; //合法

int len=str1.size();//确定字符串中字符数 str1是一个string类 的对象,size()是string类的一个方法。

6. char charr[20]; cout<<strlen(charr); //屏幕输出的结果不确定,可能大于20,或小于20,。为初始化的数组未定义。strlen()从数组第一个元素开始计算字符字数,直到遇到空字符。对为初始化的数组,第一个空字符出现的位置是随机的。

string str; cout<<str.size(); //屏幕输出结果为0.初始化的string对象长度自动设置为0;

7. 将下一行输入读取到数组中的代码: cin.getline(charr1,20); //这句表明cin是istream类的对象,getline()是istream类的方法

将下一行输入读取到string对象中的代码:getline(cin.str); //这句表明getline()不是类方法,在istrea类中有处理double,int

//等其他基本类型的类方法,但没有处理string对象的类方法

cin>>str; //合法,应用了istream类的一个成员函数cin>>x

10. 结构声明初始化:#include

struct inflatable{ char name[20], float volume, double price};

struct inflatable{ std::string name, float volume, double price}; //结构可以将string类作为成员,但要指明访问的名称空间

inflatable duck={“Daphe”, 0.12, 9.98};

inflatable Bobu; Bobu=duck; //结构赋值是有效的

struct peak{ int number, char car[20]} Ala, bay; // Ala, bay是结构peak的两个结构变量。

初始化结构数组: inflatable guest [2]={ {“Daphe”, 0.12, 9.98}, {“Bobu”, 0.34, 6.34} };

11. 共用体:可以储存不同数据类型,但具体某一时刻只能储存一种类型。

12. 枚举: enum spectrum { red, orange, yellow, green, blue, violet, indigo, ultraviolet }; //符号常量,对应的整数值为0~7

spectrum band; //band只能从枚举spectrum定义的8个常量里选择值

设置枚举量的值:指定的值必须为整数

enum bits{one=1 ,two=2, four=4, eight=8 };

enum bitstep{ first, second=100, third }; //first默认为0,后面未初始化的枚举量比前面大1,third =101

enum {zero, null=0, one, nuero=1}; //可以创建多个相同值的枚举量

枚举的取值范围: bits myflag; myflag=bits(126); //合法,上限为最大值的2的幂-1,2^8-1=127

————————————————


原文链接:https://blog.csdn.net/lvliang2017232003/java/article/details/85332232


特别声明:
1、如无特殊说明,内容均为本站原创发布,转载请注明出处;
2、部分转载文章已注明出处,转载目的为学习和交流,如有侵犯,请联系客服删除;
3、编辑非《源码码网》的文章均由用户编辑发布,不代表本站立场,如涉及侵犯,请联系删除;
全部评论(0)
推荐阅读
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • FytSoaCms一款基于NetCore2.2/3.1(RazorPage)功能强大的Cms建站系统,支持前后端分离。简介:模块化:全新的架构和模块化的开发机制,便于灵活扩展和二次开发。模型/栏目/分类信息体系:通过栏目和模型绑定,以及不同的模型类型,不同栏目可以实现差异化的功能,轻松实现诸如资讯、下载、讨论和图片等功能。通过分类信息和栏目绑定,可以自动建立索引表,轻松实现复杂的信息检索。FytSoa是一套基于NetCore+SqlS
  • 开发工具
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 22:21
  • 阅读:192
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • SmartWx微信公众号管理系统是一个完整的微信公众号web操作版,直接编译即可运行。让用户不再用关心微信的底层接口,直接使用页面进行操作,简单方便。包括服务器绑定、文本管理、图文管理、菜单管理、粉丝管理、群发消息等。技术框架开发语言:JAVA数据库:MYSQLJAVA开发框架:SpringMVC+Spring+Mybatis缓存框架:j2cache前端开发框架:Layui+JQuery+html前台模板引擎:art-templat
  • 源码教程
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 21:53
  • 阅读:183
  • 前后端分离的Java快速开发平台renren-security可免费商用
  • 前后端分离的Java快速开发平台renren-security可免费商用
  • renren-security是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付【接私活利器】采用SpringBoot3.x、Shiro、MyBatis-Plus、Vue3、TypeScript、ElementPlus、VueRouter、Pinia、Axios、Vite框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。提供了代码生成器,只
  • 源码教程
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-23 13:03
  • 阅读:100
  • 离线IP地址定位库和IP定位数据管理框架Ip2region
  • 离线IP地址定位库和IP定位数据管理框架Ip2region
  • Ip2region是什么ip2region -是一个离线IP地址定位库和IP定位数据管理框架,同时支持IPv4和IPv6,10微秒级别的查询效率,提供了众多主流编程语言的 xdb 数据生成和查询客户端实现。Ip2region特性1、离线定位库项目本身同时了提供了一份IPv4(data/ipv4_source.txt)和IPv6(data/ipv6_source.txt)的原始数据和对应的xd
  • 源码教程
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-22 11:26
  • 阅读:127
  • 常用测试压力工具使用介绍
  • 常用测试压力工具使用介绍
  • ab 是 ApacheBench 工具的缩写,它是一个HTTP压力测试工具。让我详细说明如何测试:1. 安装ApacheBenchWindows系统:方法一:安装XAMPP或WAMP(自带ab)下载地址:https://www.apachefriends.org/zh_cn/index.html安装后,ab工具在:C:xamppapacheinab.exe方法二:使
  • 开发工具
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-13 20:27
  • 阅读:115
联系客服
源码代售 源码咨询 技术开发 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部