C++学习第七天

这篇具有很好参考价值的文章主要介绍了C++学习第七天。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.string类简介

首先要使用string类,程序要包含头文件string;string类位于名称空间std中,所以using编译指令是必须要有的,或者std::string来引用它,不过这比较麻烦;

类设计让程序能够自动处理string的大小;

可以这么说,把char数组视为一组用于存储一个字符串的char存储单元,而string类变量是一个表示字符串的实体;

2.C++11字符串初始化
string third_date = {“The Breed Bowl"};
3.赋值,拼接和附加

不能将一个数组赋给另一个数组,但可以将一个string对象赋值给另一个string对象;

char charr1[20];
char charr2[20];

string str1;
string str2;

charr1 = charr2;//这里就会报错
str1 = str2;//这里就不会报错

string也可以合并两个string对象,还可以使用运算符+=将字符串附加到string对象的末尾;

继续上面的代码:
string str3;
str3 = str1 + str2;
str1 += str2;
4.string类的其他操作

        函数strcpy()将字符串复制到字符数组中;

        函数strcat()将字符串附加到字符数组末尾;

        确定字符串中字符数的方法:

char aharr1[20];
string str1;

int len1 = strl.size();
int len2 = strlen(charr1);

strlen()是一个常规函数,返回该字符串包含的字符数,自动去掉空字符;读到空字符结束;

函数size()功能与上相同;

5.string 类I/O

c语言的字符数组与c++的string类对象,对于读取一个单词时基本相同,但是读取一行时,使用的句法不同;参考下下面的代码;

code_c++/strtype4.cpp · Kite/C和C++ - 码云 - 开源中国 (gitee.com)

6.结构简介

        就是c语言的结构体,这里叫结构,结构是用户定义的类型;

        关键字struct表明,这定义的是一个结构的布局;标识符inflatable是这种数据格式的名称;定义结构后,便可以创建这种类型的变量;C++中允许在声明结构变量时省略关键字struct(c语言中是必须要有的);可以延申一下去了解一下位域结构体;

可以使用成员运算符(.) 来访问各个成员;

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

struct inflatable str1;
inflatable str2;

str1.volume = 12;

注意初始化方式,列表初始化,且等号可有可无;如果大括号内未包含任何东西,各个成员都将设置为0;不允许缩窄转换;

可以使用赋值运算符(=) 将结构赋给另一个同类型的结构,即使成员是数组,这种赋值被称为成员赋值;

7.结构中的位字段

字段的类型应为整型或枚举,接下来是冒号,冒号后面是一个数字,它指定了使用的位数;可以使用没有名称的字段来提供间距;每个成员都被称作位字段;

struct torgle
{
    unsigned int SN : 4;
    unsigned int : 4; //用来提供间距;
    bool goodIn : 1;
    bool goodTorgle : 1;
}

torgle tr = {14 , true , false};
8.共用体

共用体(union)是一种数据格式,能够存储不同的数据类型,但只能同时存储其中的一种类型,这一点和结构体不同;

共用体的长度为其最大成员的长度;

共用体的用途之一是,当数据项使用两种或更多种格式(不能同时使用)时,可节省空间;

匿名共用体没有名称,其成员将成为位于相同地址处的变量。显然,每次只有一个成员是当前的成员;

共用体常用于节省内存;

9.枚举

c++的enum工具提供了另一种创建符号常量的方式,这种方式可以代替const;用法与结构类似;

enum spectrum {red, orange, yellow, green, blue, violet, indigo, ultraviolet};

spectrum 成为新类型的名称,red,orange,yellow等作为符号常量,对应整数值0--7,这些常量叫做枚举量;

在不进行强制类型转换的情况下,只能将定义枚举时使用的枚举量赋给这种枚举的变量;

如果试图将一个非法值赋给它,有些编译器会出现错误,有些会发出警告;

对于枚举,只定义了赋值运算符,具体地说,没有为枚举定义算术运算;

枚举量是整型,可被提升为int类型,但int类型不能自动转换为枚举类型;

如果打算只使用常量,而不创建枚举类型的变量,则可以省略枚举类型的名称;文章来源地址https://www.toymoban.com/news/detail-640116.html

enum  {red, orange, yellow, green, blue, violet, indigo, ultraviolet};

到了这里,关于C++学习第七天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (Bean工厂的后处理器入门)学习Spring的第七天

    一 . Bean工厂的后处理器入门 : 直接上图 BeanDefinitionRegistyPostProcessor 为 BeanFactoryProcessor的子接口 , 前者先执行(图里只有Bean工厂的后处理器第一个类型) 如下图 : 这两个接口可改变两个Map(BeanDefinitionMap , singletonObject)里的信息 (黑马只讲了BeanFactoryPostProcessor , 第二个应该不重要)

    2024年01月23日
    浏览(50)
  • Spring第七天(AOP)

    AOP(Aspect Oriented Programing)面向切面编程,一种编程范式,指导开发者如何组织程序结构 在 不惊动原始设计 的基础上为其进行 功能增强 Spring理念:无入侵式/无侵入式 连接点(JoinPoint) : 程序执行过程中的任意位置,粒度为执行方法、抛出异常、设置变量等         在SpringAOP中

    2024年01月21日
    浏览(37)
  • HCIP第七天

    题目  拓扑图  1.所有路由器各自创建一个环回接口,合理规划IP地址         测试            2. R1-R2-R3-R4-R6之间使用OSPF协议,R4-R5-R6之间使用RIP协议                  3. R1环回重发布方式引入OSPF网络  4. R4/R6上进行双点双向重发布    将OSPF中的环回接口改成broadcast    

    2024年02月15日
    浏览(36)
  • 【力扣刷题 | 第七天】

    今天我们将会进入栈与队列的刷题篇章,二者都是经典的数据结构,熟练的掌握栈与队列实现可以巧妙的解决有些问题。 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的

    2024年02月09日
    浏览(45)
  • 【七天入门数据库】第七天 MySQL的事务管理

    【七天入门数据库】第一天 MySQL的安装部署 【七天入门数据库】第二天 数据库理论基础 【七天入门数据库】第三天 MySQL的库表操作 【七天入门数据库】第四天 数据操作语言DML 【七天入门数据库】第五天 MySQL的备份恢复 【七天入门数据库】第六天 MySQL的视图与索引 【七天

    2024年02月15日
    浏览(53)
  • Spring第七天(Spring事务)

     事务作用:在数据层保障一系列的数据库操作同操作同成功同失败  Spring事务作用:在数据层或 业务层 保障一系列的数据库操作同成功同失败 注: Spring注解事务通常添加在业务层接口中而不会添加到业务层实现类中,降低耦合 注解式事务可以添加到业务方法上表示当前方

    2024年01月21日
    浏览(33)
  • 每日后端面试5题 第七天

    内连接只查询出两表的交集; 外连接会查询出某表的全部与两表的交集。 1.反向代理 前端把请求发送给nginx,再由nginx将请求发送给后端服务器。 2.负载均衡 提高访问速度;进行负载均衡;保证后端服务安全 1.数据库类型不同 (1)MySQL是关系型数据库; (2)Redis是缓存数据

    2024年02月13日
    浏览(32)
  • MySQL 第七天作业 nosql作业

    1、 string类型数据的命令操作: (1) 设置键值: (2) 读取键值: (3) 数值类型自增1: (4) 数值类型自减1: (5) 查看值的长度: 2、 list类型数据的命令操作: (1)对列表city插入元素:Shanghai Suzhou Hangzhou (2)将列表city里的头部的元素移除 (3)将name列表的尾部元

    2024年02月17日
    浏览(40)
  • 拒绝摆烂!C语言练习打卡第七天

    🔥 博客主页: 小王又困了 📚 系列专栏: 每日一练 🌟 人之为学,不日近则日退  ❤️ 感谢大家点赞👍收藏⭐评论✍️ 目录 一、选择题 📝1.第一题  📝2.第二题 📝3.第三题 📝4.第四题 二、编程题 📝1.第一题  📝2.第二题 🗒️前言: 在前面我们学习完C语言的所以知

    2024年02月10日
    浏览(41)
  • 【30天python从零到一】---第七天:列表和元组

    🍎 博客主页:🌙@披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 Python专栏 🌙请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!🌙 🍉一起加油,去追寻、去成为更好的自己

    2023年04月19日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包