C++_对C数据类型的扩展

结构体

c++中定义结构体变量,可以省略struct关键字

c++结构提重可以直接定义函数,谓之成员函数(方法)

#include <iostream>
using namespace std;
struct stu {int num;char name[24];void price(void) {cout << "this is " << name << endl;}
};int main() {stu st;cin >> st.num >> st.name;st.price();return 0;
}

联合

c++中定义联合体变量,可以省略union关键字,支持匿名联合

#include <iostream>
using namespace std;

int main(void) {
    union { //匿名联合,相当于局部变量
        int num;
        char c[4];
    };
    num = 0x12345678;
    cout << hex << (int)c[0] << " " << (int)c[1] << (int)c[2] << " " << c[3] <<endl;
}

#include <iostream>
using namespace std;int main(void) {union { //匿名联合,相当于局部变量int num;char c[4];};num = 0x12345678;cout << hex << (int)c[0] << " " << (int)c[1] << (int)c[2] << " " << c[3] <<endl;
}

枚举类型

C++中定义枚举变量,可以省略enum关键字

C++中枚举是独立的数据类型,不能当做整型数使用

#include <iostream>
using namespace std;int main() {enum COLOR {RED,GREEN,BULE};COLOR C = RED;cout << C << endl;return 0;
}
//输出值为0;C不能直接等于整数

布尔类型

C++中布尔(bool)是基本数据类型,专门表示逻辑值

布尔类型的字面值常量:

true表示逻辑真

false表示逻辑假

布尔类型本质:单字节的整数,使用1表示真,0表示假

任何基本类型都可以被隐式转换成布尔类型

#include <iostream>
using namespace std;int main(int argc, const char *argv[])
{bool c;c = false;cout << c <<endl;cout << boolalpha << c << endl;c = 2 + 3;cout << boolalpha << c << endl;return 0;
}//输出结果为0,false,true

C++对字符串的处理

C++专门设计了string类型表示字符串

string类型字符串定义

string s;//定义空字符串
//想字符串插入内容的三种方式
string s("hello");
string s = "hello"
string s = string("hello");

字符串拷贝

string s1 = "hello"
string s2 = s1;

字符串连接

string s1 = "hello", s2 = "world";
string s3 = s1 + s2;//s3:hello world
s1+=s2;//s1:hello world;

字符串比较

string s1 = "hello",s2 = "world";
if (s1 == s2) cout << s1 + s2 <<endl;
else cout << s1 << endl;

随机访问

//支持下标访问
string s = "hello";
s[0] = "H";

获取字符串长度

size_t size();
size_t length();

转换为C风格的字符串

const char *c_str();

字符串交换

void swap(string s1,string s2);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3+Antd实现弹框显示内容并加入复制按钮

使用Vue3antd实现点击弹框出现内容并可复制内容的功能&#xff1a; HTML部分&#xff1a; <a-button type"primary" click"showModel">打开弹框 </a-button><!-- ok 是弹框中确定按钮的操作&#xff0c;cancel 是弹框中取消按钮的操作 --…

Redis数据已经删除了,为什么内存占用还是很高?

Redis数据已经删除了&#xff0c;为什么内存占用还是很高&#xff1f; Redis做了数据删除操作&#xff0c;为什么使用top命令时&#xff0c;还是显示Redis占了很多内存&#xff1f; 没做相关功课的人觉得这个问题有问题&#xff0c;删了数据还说占着内存&#xff0c;面试官不…

【学一点儿前端】真机调试本地公众号网页项目

前言 微信公众号网页开发的真机调试一直是很头疼的事情。 原因一 微信公众号配置的JS安全域名只有三个&#xff0c;一个大中型的公众号这三个JS安全域名都是生产的域名&#xff0c;不可能预留域名用于开发和调试。 原因二 在微信里面只有访问正确的安全域名才能调用wx.config用…

vuepress-----18、图片缩放

图片引入两种方式 地址 # 图片缩放插件 # 实战 md文件引入图片 <img class"zoom-custom-imgs" :src"$withBase(/favicon.ico)" alt"favicon">安装配置插件 vuepress/medium-zoom: {selector: img.zoom-custom-imgs,},效果展示

AI:89-基于卷积神经网络的遥感图像地物分类

🚀 本文选自专栏:人工智能领域200例教程专栏 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的核心代码,详细讲解供大家学习,希望可以帮到大家。欢迎订阅支持,正在不断更新…

MVCC是什么

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

ChibiOS简介1/5

ChibiOS简介1/5 1. 源由2. ChibiOS基础知识1/52.1 Chapter 1 - Introduction2.1.1 Priciple&#xff08;设计原则&#xff09;2.1.2 Fundamental requirements&#xff08;基本需求&#xff09; 2.2 Chapter 2 - Real Time Systems Concepts2.2.1 System&#xff08;系统&#…

flutter TextPainter 的用法

本文章基于 Flutter 3.16.2 Dart SDK 3.2.2。 TextPainter 是 Flutter 中用于在 Canvas 上绘制文本的类。它允许您在自定义的 CustomPainter 中使用 drawText 方法来绘制文本&#xff0c;并可以控制文本的位置、颜色、字体等属性。 import package:flutter/material.dart;cla…

【NEON】学习资料汇总

一、资料链接 Guide &#xff1a; http://www.heenes.de/ro/material/arm/DEN0018A_neon_programmers_guide_en.pdf csdn博文1&#xff0c;基础案例&#xff1a; https://blog.csdn.net/kakasxin/article/details/103912832? csdn博文2&#xff0c;内部函数&#xff1a; ht…

css 输入框动态特效

先上图 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>css 输入框动效</title><style>.inputBox {position: relative;width: 250px;}.inputBox input {width: 100%;padding: 10px…

使用git push太慢怎么办

使用git push太慢怎么办 修改host文件&#xff1a; windows 的路径应该在 C:\Windows\System32\drivers\etc\hosts 在host文件的最后一行加上 151.101.72.249 github.global.ssl.fastly.nethost不允许修改就复制一份&#xff0c;修改好了再替换掉&#xff0c;可能会让你输入…

028:简单的foreach

028:简单的foreach 总时间限制: 1000ms 内存限制: 65536kB 描述 编写MyForeach模板&#xff0c;使程序按要求输出 不得编写 MyForeach函数 #include <iostream> #include <string> using namespace std; // 在此处补充你的代码 void Print(string s) {cout <…

【面试经典150 | 二叉树】对称二叉树

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;递归方法二&#xff1a;迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题涉及到的…

第6讲、Hyper-V体系结构和相关管理程序文件及服务:

1、Hyper-V的体系结构 1、CPU能力在服务器虚拟化实现中扮演着一个重要角色&#xff0c;Intel/AMD型号的CPU定义了一些权限 级别&#xff0c;称为ring。在传统模型中&#xff0c;ring0级别最高权限最大。Windows内核和设备驱动程序 使用这个级别…

【优选算法系列】【专题一双指针】第三节.611. 有效三角形的个数和LCR 179. 查找总价格为目标值的两个商品

文章目录 前言一、有效三角形的个数 1.1 题目描述 1.2 题目解析 1.2.1 算法原理 1.2.2 代码编写 1.2.3 题目总结二、查找总价格为目标值的两个商品 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 …

0008-【PID学习笔记 8 】控制系统的分析方法

写在前面 前面已经完成了控制系统的性能指标学习&#xff0c;从这节开始继续学习控制系统的分析方法&#xff0c;本文重点介绍分析方法概述和时域分析法。 一、控制系统的基本分析方法 控制系统的基本分析方法包括&#xff1a; 古典方法&#xff08;经典控制理论&#xff09;…

独孤思维:赚钱需要独一无二的支点,而不是技多不压身的堆料

赚钱需要找到属于自己独一无二&#xff0c;且超乎常人的支点&#xff0c;而不应该一味追求大而全&#xff0c;技多不压身的堆料。 凡是考了一堆证书&#xff0c;以为掌握多项技能&#xff0c;就能赚到钱的都是学生思维。 尤其是很多刚入职场的年轻人&#xff0c;为了职场晋升…

2024山东健博会,济南健康展,5月中国大健康展,健康管理展

China-DJK山东健博会&#xff1a;5月黄金招商季&#xff0c;携千家参展商、万余款产品精彩亮相&#xff1b; DJK 2024第6届中国&#xff08;济南&#xff09;国际大健康产业博览会 The 2024 sixth China (Jinan) International Big Health Industry Expo 时间&#xff1a;2024…

LLaMA-Factory微调ChatGLM3报错: Segmentation fault (core dumped)

SFT训练模型的命令 CUDA_VISIBLE_DEVICES0 python src/train_bash.py \--stage sft \--model_name_or_path models/chatglm3-6b \--do_train \--dataset self_cognition \--template chatglm3 \--finetuning_type lora \--lora_target query_key_value \--output_dir output/c…

Docker网络原理

Docker网络概述 1.桥接模式介绍 bridge模式是docker的默认网络模式。 桥接模式是一种用于连接两个不同网络段的设备&#xff0c;使它们能够共享通信的一种方式。 桥接设备工作在OSI模型的第二层&#xff0c;即数据链路层&#xff0c;通常基于MAC地址进行帧转发。 物理层连接…