C++ 学习笔记

文章目录

  • 【 字符串相关 】
    • C++ 输入输出流
    • strcpy_s() 字符串复制
    • 输出乱码
  • 【 STL 】
    • 各个 STL 支持的常见方法

  • ? : 运算符
  • switch case 运算符
switch(expression)
{
    case constant-expression  :
       statement(s);
       break; // 可选的
    case constant-expression  :
       statement(s);
       break; // 可选的

    default : // 可选的
       statement(s);
}

  • C++可以不必在程序运行前定义好所有变量
  • 5/2=2,例如:cout << 5/2; 输出为 2。
  • 在 C 语言中,数组的大小必须在使用前已知,并且这个大小在整个程序的运行过程中不能改变,除非使用动态数组。因此,数组的大小通常由常量来定义,而不是变量。这是因为:
    • 编译时分配内存:数组在内存中的存储是连续的,编译器需要在编译时知道数组的大小,以便为数组分配足够的连续内存空间。如果数组的大小在编译时未知,编译器就无法进行内存分配。

【 字符串相关 】

C++ 输入输出流

  • 输入字符串
char s[100]; cin.getline(s, 100);
  • 输入 string类
string s; getline(cin, s);

strcpy_s() 字符串复制

#include <iostream>
#include <cstring>
using namespace std;

int main()
{
    char  s1[] = "123456"; //普通字符串
    int n = sizeof(s1) / sizeof(char);
    char* s2 = new char[n]; //动态字符串
    strcpy_s(s2, n, s1);    //字符串复制
    cout << n << endl;
	cout << s2<<endl;

   return 0;
}

在这里插入图片描述

输出乱码

  • cout << value; cout会自动根据value的类型进行输出, 当 value 类型为 char* 时,cout会从 value 这个 char * 地址开始遍历地址对应的元素直至遇到 ‘\0’ 字符
  • 实例
    s1 是字符数组,直接将地址 s1 输出,会因为没有遇到 ‘\0’ 字符输出乱码。
    s2 是申请了类型为char大小为n的首地址,对其赋值后,也会由于没有遇到 ‘\0’ 字符输出乱码。
    而在 s2 的末位元素赋值为 ‘\0’ 后,将不再出现乱码。
// 将 s1 的前 n 个元素赋值给 s2。
#include <iostream>
using namespace std;

int main()
{
    int n;
    cin >> n;
    char s1[] = {'1','2','3','4','5'};
    char* s2 = new char[n];
    for (int i = 0; i < n; ++i)
        s2[i] =s1[i];
    cout << s2 <<endl;
    s2[n] = '\0';
    cout << s2 <<endl;
    return 0;
}

在这里插入图片描述

【 STL 】

各个 STL 支持的常见方法

STL名称支持的常见方法
vector大小:size()
尾添加:push_back()
头尾指针: begin()、end()
deque大小:size()
头尾添加:push_front()、push_back()
头尾删除:pop_front()、pop_back()
头尾指针: begin()、end()
set大小:size()
插入:insert()、emplace()
删除:erase()
查找: find()
最小的大于 val 的元素:upper_bound()
头尾指针: begin()、end()
map大小:size()
插入:insert()、emplace()
删除:erase()
查找: find()
头尾指针: begin()、end()
最小的大于 val 的元素:upper_bound()
头尾指针: begin()、end()
stack大小:size()
压栈:push()
栈顶元素删除:pop()
栈顶指针: top()
queue大小:size()
尾添加:push()
头删除:pop()
头尾指针: front()、back()

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于arcgis /envi PCA(主成分分析)实现过程

基于arcgis /envi PCA(主成分分析)实现过程 1 提取研究范围 2对研究范围进行重采样 &#xff08;根据数据情况进行选做&#xff0c;如数据较大建议进行该步骤操作&#xff09; 3 对研究范围内数据进行归一化处理 4 将空值替换为0 5 对同期不同要素数据进行波段合成 对波段…

如何本地部署JumpServer堡垒机并结合内网穿透实现远程访问

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机&#xff0c;是符合 4A 规范的专业运维安全审计系统。JumpS…

云南省气象探空业务升级为北斗探空观测系统

云南省气象探空业务升级为北斗探空观测系统 近日&#xff0c;云南省首套北斗探空观测系统在普洱市思茅区高空气象观测站建成并调试成功&#xff0c;这意味着云南省气象探空业务将从L波段雷达探测升级到北斗探空观测系统。 &#xff08;图片来源于网络&#xff09; 北斗探空观…

距离度量方法——欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离

目录 一、 欧氏距离&#xff08;Euclidean Distance&#xff09; 1、简介 2、代码实现 二、曼哈顿距离&#xff08;Manhattan Distance&#xff09; 1、简介 2、代码实现 三、切比雪夫距离&#xff08;Chebyshev Distance&#xff09; 1、简介 2、代码实现 四、闵可夫…

CSS实现热门创作者排行榜(毛玻璃效果)

CSS实现热门创作者排行榜&#xff08;毛玻璃效果&#xff09; 效果展示 CSS 知识点 CSS 基础知识回顾filter 属性运用回顾 整体页面布局实现 <div class"container"><h3>Popular Creator Rank List</h3><!-- 用户列表容器 --><div cl…

基于SpringBoot+Vue的健身教练预约管理系统(源码+文档+部署+讲解)

一.系统概述 私人健身与教练预约管理系统&#xff0c;可以摆脱传统手写记录的管理模式。利用计算机系统&#xff0c;进行用户信息、管理员信息的管理&#xff0c;其中包含首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;教练管理&#xff0c;健身项目管理&#xff0…

【个人使用推荐】联机不卡顿 小白一键部署 大厂云服务器选购指南 16G低至26 幻兽帕鲁最大更新来袭

更新日期&#xff1a;4月8日&#xff08;半年档 价格回调&#xff0c;京东云采购季持续进行&#xff09; 本文纯原创&#xff0c;侵权必究 《最新对比表》已更新在文章头部—腾讯云文档&#xff0c;文章具有时效性&#xff0c;请以腾讯文档为准&#xff01; 【腾讯文档实时更…

两款工业摄像头EPICS环境使用测试

从模拟摄像头进步到GIGE摄像头使得束斑监测系统的搭建方便多了&#xff0c;EPICS areaDetector下最开始使用的是进口的AVT的摄像头&#xff0c;后来发现海康摄像头便宜又好用&#xff0c;后来就一直使用海康的&#xff0c;MV-CA016-10GM这款在EPICS下使用一直很稳定&#xff0c…

ctfshow web入门 php特性 web140--web150plus

web140 这里用松散比较的漏洞绕过 0和字符串比较的时候就是true $code eval("return $f1($f2());"); 等于0就可以传参 POST: f1intval&f2intval查看源码 web141 if(preg_match(/^\W$/, $v3)) 是一段 PHP 代码&#xff0c;它使用了正则表达式函数 preg_mat…

【复现】畅捷通T-Plus SQL注入漏洞_68

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 畅捷T是用友畅捷通推出的一款新型互联网企业管理系统&#xff0c;T能够满足成长型小微企业对其灵活业务流程的管控需求&#xff0…

socket之UDP组播(多播)

组播也可以称之为多播这也是 UDP 的特性之一。组播是主机间一对多的通讯模式&#xff0c;是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址&#xff0c;组播地址不同于单播地址&#xff0c;它并不属于特定某个主机&#xff0c…

Enzo Life Sciences--17β-Estradiol high sensitivity ELISA kit

高灵敏ELISA试剂盒&#xff0c;可检测到低至14 pg/ml的17β-雌二醇 雌二醇(estradiol) 是由卵巢内卵泡的颗粒细胞分泌的类固醇激素&#xff0c;是主要的雌激素&#xff0c;负责调节女性特征、附属性器官的成熟和月经-排卵周期&#xff0c;促进乳腺导管系统的产生&#xff0c;有…

鸿蒙南向开发:【智能烟感】

样例简介 智能烟感系统通过实时监测环境中烟雾浓度&#xff0c;当烟雾浓度超标时&#xff0c;及时向用户发出警报。在连接网络后&#xff0c;配合数字管家应用&#xff0c;用户可以远程配置智能烟感系统的报警阈值&#xff0c;远程接收智能烟感系统报警信息。实现对危险及时报…

【大功率汽车大灯升压方案】LED恒流驱动芯片FP7208升压车灯调光应用,PWM内部转模拟,调光深度1%,无频闪顾虑,低亮无抖动

宝马X5前中排座椅宽大舒适&#xff0c;车厢内储物空间丰富。操控性能极佳&#xff0c;底盘稳扎精良。原车为氙气灯&#xff0c;其实宝马的氙气大灯配的比其他车型要好&#xff0c;照明效果是没得说的。但是不管什么灯久了都会出现光衰的情况。下面这辆宝马X5车灯已老化严重。 宝…

学习记录15-运算放大器例题1

一、例题1 图中自己加的一些声明&#xff0c;方便待会讲解&#xff08;请忽略丑。。。&#xff09; 根据虚短原则&#xff1a;U U- U 3V*(R4/(R3R4)) 3V*&#xff08;20 / (1020)) 2V U- U- -1V*(R2/(R1R2))Uo*(R1/(R1R2)) -1V*(20/30)Uo*(10/30) -2/3VUo*1/3 …

如何通过专业二手手机店ERP工具提升手机零售业绩?

在竞争激烈的手机零售市场中&#xff0c;二手手机店如何脱颖而出&#xff0c;实现业绩的稳步增长&#xff1f;途渡科技的超机系列工具提供了一个专业而全面的解决方案&#xff0c;专注于通过二手手机店ERP工具提升商家的运营效率和销售业绩。 1、数字化革新&#xff0c;开启智能…

面试经典150题——删除链表的倒数第 N 个结点

1. 题目描述 2. 题目分析与解析 这个题目整体来讲还是比较简单的&#xff0c;因此直接给出解题思路&#xff1a; 遍历链表计数 计算要删除的节点的位置 创建虚拟头节点 创建指针指向虚拟头节点 移动指针到要删除的节点的前一个节点 删除节点 返回头节点 3. 代码实现 …

四川易点慧电子商务抖音小店安全运营全攻略

在互联网时代&#xff0c;电子商务已成为人们日常生活不可或缺的一部分。抖音小店作为抖音平台上的一个重要功能&#xff0c;为众多商家提供了一个全新的销售渠道。四川易点慧电子商务有限公司&#xff08;以下简称“易点慧”&#xff09;作为业内知名的电商服务提供商&#xf…

废品回收小程序推动回收行业的发展趋势

回收在全球都是一个重要行业&#xff0c;它为全球的环保作出了重要贡献。 随着科技的不断发展创新&#xff0c;废品回收的方式也逐渐多样&#xff0c;全新的线上回收小程序也逐渐出现在大众的生活中&#xff0c;在当下的手机时代&#xff0c;线上回收也为大众提供了更加便利的…

【AIGC】通义千问生成问答数据集

好久没有更新跟实际应用相关的内容了&#xff08;主要是因为公司知识产权问题未能立即公开&#xff0c;目前只能挑选一些脱敏内容与各位分享&#xff09;&#xff0c;如标题所示本期将跟大家讲一下如何通过通义千问生成问答数据集的。 在之前使用 Autokeras 的 RNN 训练时提到…