C++day7(auto关键字、lambda表达式、C++中的数据类型转换、C++标准模板库(STL)、list、文件操作)
一、Xmind整理:
关键词总结:
二、上课笔记整理:
1.auto关键字
#include <iostream>using namespace std;int fun(int a, int b, float *c, char d, double *e,int f)
{return 1+2;
}int main()
{//定义一个函数指针,指向fun函数int (*p)(int , int , float *, char , double *,int ) = fun;//用auto来完成auto ptr = fun;return 0;
}
#include <iostream>using namespace std;template <typename T>
void fun(T a)
{auto b = a;cout << "b的数据类型:" << typeid (b).name() << endl;
}int main()
{int a =10;fun(a);return 0;
}
2.lambda表达式
#include <iostream>using namespace std;int main()
{int a = 100;double b = 13.45;char c = 'x';cout << "main-&a:" << &a << " a = " << a << endl;// auto fun = [a,b,c]()mutable{
// auto fun = [=]()mutable{auto fun = [&a,&b](){cout << "lambda--&a " << &a << " a = " << a << endl;a = 200;cout << "lambda--&a " << &a << " a = " << a << endl;};fun();cout << "main-&a:" << &a << " a = " << a << endl;return 0;
}
#include <iostream>using namespace std;int main()
{int a = 100;double b = 13.45;char c = 'x';cout << "main-&a:" << &a << " a = " << a << endl;
// auto fun = [a,b,c]()mutable{
// auto fun = [=]()mutable{auto fun = [&a,&b](string name = "hello world")->string{cout << "lambda--&a " << &a << " a = " << a << endl;a = 200;cout << "lambda--&a " << &a << " a = " << a << endl;return name;};cout << fun("hello kitty") << endl;cout << "main-&a:" << &a << " a = " << a << endl;return 0;
}
3.隐式类型转换(自动类型转换)
int num_int = 10;
double num_double = num_int; // 隐式将int转换为double
4.显示类型转换(强制类型转换)
①静态转换
double num_double = 3.14;
int num_int = static_cast<int>(num_double); // 显式将double转换为int
②动态转换
class Base {virtual void foo() {}
};
class Derived : public Base {};Base* base_ptr = new Derived;
Derived* derived_ptr = dynamic_cast<Derived*>(base_ptr); // 显式将基类指针转换为派生类指针
③常量转换
const int a =10; //
int *p;
p = &a; // 合不合法? no
const int num_const = 5;
int* num_ptr = const_cast<int*>(&num_const); // 去除const限定符
④重新解释转换
int num = 42;
float* float_ptr = reinterpret_cast<float*>(&num); // 重新解释转换
5.C风格类型转换
①c样式转换
int num_int = 10;
double num_double = (double)num_int; // C样式强制类型转换
②函数样式转换(函数式转换)
int num_int = 10;
double num_double = double(num_int); // C++函数样式类型转换
6.vector的构造函数
#include <iostream>
#include <vector>using namespace std;//算法
void printVector(vector<int> &v)
{vector<int>::iterator iter; //定义了这样容器类型的迭代器for(iter = v.begin(); iter != v.end(); iter++){cout << *iter << " ";}cout << endl;
}int main()
{//容器vector<int> v; //无参构造函数v.push_back(10); //尾插v.push_back(20);v.push_back(30);v.push_back(40);//算法printVector(v);vector<int> v2(v.begin(),v.end());printVector(v2);vector<int> v3(6,100);printVector(v3);vector<int> v4 = v3;printVector(v4);vector<int> v5(v2);printVector(v5);return 0;
}
7.vector的容量大小
#include <iostream>
#include <vector>using namespace std;//算法
void printVector(vector<int> &v)
{vector<int>::iterator iter; //定义了这样容器类型的迭代器for(iter = v.begin(); iter != v.end(); iter++){cout << *iter << " ";}cout << endl;
}int main()
{//容器vector<int> v; //无参构造函数v.push_back(10); //尾插v.push_back(20);v.push_back(30);v.push_back(40);//算法printVector(v);vector<int> v2(v.begin(),v.end());printVector(v2);vector<int> v3(6,100);printVector(v3);vector<int> v4 = v3;printVector(v4);vector<int> v5(v2);printVector(v5);vector<int> v6;v6 = v5;printVector(v6);v6.assign(v5.begin(),v5.end());printVector(v6);v6.assign(8,99);printVector(v6);if(v6.empty()){cout << "容器为空" << endl;}else{cout << "容器的容量大小:" << v6.capacity() << endl;cout << "容器的大小:" << v6.size() << endl;v6.resize(15);printVector(v6);}return 0;
}
8.vector的元素提取
#include <iostream>
#include <vector>using namespace std;//算法
void printVector(vector<int> &v)
{vector<int>::iterator iter; //定义了这样容器类型的迭代器for(iter = v.begin(); iter != v.end(); iter++){cout << *iter << " ";}cout << endl;
}int main()
{//容器vector<int> v; //无参构造函数v.push_back(10); //尾插v.push_back(20);v.push_back(30);v.push_back(40);//算法printVector(v);// v.pop_back();//尾删
// printVector(v);// v.insert(v.begin()+1,99);
// printVector(v);// v.insert(v.begin(),4,77);
// printVector(v);// v.erase(v.begin());
// printVector(v);// v.erase(v.begin(),v.end());
// printVector(v);v.clear();printVector(v);cout << "------------------" <<endl;vector<int> vv;for(int i=0;i<5;i++){vv.push_back(i);}cout << vv.at(3) << endl;cout << vv[3] << endl;cout << vv.front() << endl;cout << vv.back() << endl;return 0;
}
9.文件操作
#include <iostream>
#include <fstream>using namespace std;int main()
{//1包含头文件 //2创建流对象ofstream ofs;//3打开文件ofs.open("E:/ready_class/stu.txt",ios::out);//4写入数据ofs << "姓名:张三" << endl;ofs << "年龄:34" << endl;//5关闭文件ofs.close();//1包含头文件//2创建流对象ifstream ifs;//3打开文件ifs.open("E:/ready_class/stu.txt",ios::in);//4读取数据char buff[1024];while(ifs>>buff){cout << buff << endl;}//5.关闭文件ifs.close();return 0;
}
相关文章:

C++day7(auto关键字、lambda表达式、C++中的数据类型转换、C++标准模板库(STL)、list、文件操作)
一、Xmind整理: 关键词总结: 二、上课笔记整理: 1.auto关键字 #include <iostream>using namespace std;int fun(int a, int b, float *c, char d, double *e,int f) {return 12; }int main() {//定义一个函数指针,指向fu…...

纽扣电池/锂电池UN38.3安全检测报告
根据规章要求,航空公司和机场货物收运部门应对锂电池进行运输文件审查,重要的是每种型号的锂电池UN38.3安全检测报告。该报告可由的三方检测机构。如不能提供此项检测报告,将禁止锂电池进行航空运输. UN38.3包含产品:1、 锂电池2…...

K8S:K8S自动化运维容器Docker集群
文章目录 一.k8s概述1.k8s是什么2.为什么要用K8S3.作用及功能4.k8s容器集群管理系统 二.K8S的特性1.弹性伸缩2.自我修复3.服务发现和复制均衡4.自动发布和回滚5.集中化配置管理和秘钥管理6.存储编排7.任务批量处理运行 三.K8S的集群架构四.K8S的核心组件1.Master组件࿰…...
Java的guava 限流写法
第一步先引入 maven <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>32.0.1-jre</version> </dependency> 然后上方法 private final double rateLimiter10 1.0 / 10.0; // 每…...

[uniapp] scroll-view 简单实现 u-tabbar效果
文章目录 方案踩坑1.scroll-view 横向失败2.点击item不滚动?3. scrollLeft从哪里来? 效果图 方案 官方scroll-view 进行封装 配合属性 scroll-left Number/String 设置横向滚动条位置 即可 scroll-into-view 属性尝试过,方案较难实现 踩坑 1.scroll-view 横向失败 安装…...
vue常见问题汇总
来源:https://www.fly63.com/ Q1:安装超时(install timeout) 方案有这么些: cnpm : 国内对npm的镜像版本/*cnpm website: https://npm.taobao.org/*/npm install -g cnpm --registryhttps://registry.npm.taobao.org// cnpm 的大多命令跟 npm 的是一致的…...

GPT-3在化学中进行低数据发现是否足够?
今天介绍一份洛桑联邦理工学院进行的工作,这份工作被发表在化学期刊预印本网站上。 对于这份工作,有兴趣的朋友可以通过我们的国内ChatGPT镜像站进行测试使用,我们的站点并没有针对特定任务进行建设,是通用性质的。 化学领域进行…...

gitlab升级
1.下载需要的版本 wget -c https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.7.6-ce.0.el7.x86_64.rpm --no-check-certificate gitlab-ce-15.4.6-ce.0.el7.x86_64.rpm gitlab-ce-15.7.6-ce.0.el7.x86_64.rpm gitlab-ce-15.9.7-ce.0.el7.x86_64.rpm g…...

Matlab图像处理-灰度插值法
最近邻法 最近邻法是一种最简单的插值算法,输出像素的值为输入图像中与其最邻近的采样点的像素值。是将(u0,v0)(u_0,v_0)点最近的整数坐标u,v(u,v)点的灰度值取为(u0,v0)(u_0,v_0)点的灰度值。 在(u0,v0)(u_0,v_0)点各相邻像素间灰度变化较小时,这种方…...
axios 或 fetch 如何实现对发出的请求的终止?
终止 HTTP 请求是一个重要的功能,特别是在需要优化性能、避免不必要的请求或在某些事件发生时(例如用户点击取消)中断正在进行的请求时。以下是如何使用 axios 和 fetch 实现请求终止的方法: 1. axios axios 使用了 CancelToken…...

ChatGPT Prompting开发实战(四)
一、chaining prompts应用解析及输出文本的设定 由于输入和输出都是字符串形式的自然语言,为了方便输入和输出信息与系统设定使用的JSON格式之间进行转换,接下来定义从输入字符串转为JSON list的方法: 定义从JSON list转为输出字符串的方法&…...

Windows和Linux环境中安装Zookeeper具体操作
1.Windows环境中安装Zookeeper 1.1 下载Zookeeper安装包 ZooKeeper官网下载地址 建议下载稳定版本的 下载后进行解压后得到如下文件: 1.2 修改本地配置文件 进入解压后的目录,将zoo_example.cfg复制一份并重命名为zoo.cfg,如图所示: 打…...
41、Flink之Hive 方言介绍及详细示例
Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…...
docker环境安装软件、更换镜像源以及E: Unable to locate package xxx解决
docker环境安装vim、ifconfig、ping、更换镜像源以及E: Unable to locate package vim 一. E: Unable to locate package vim 问题解决一、问题分析二、解决方案三、再次安装四. 此镜像源已失效 二. 解决 “E: 仓库xx没有 Release 文件。N: 无法安全地用该源进行更新࿰…...

夸克扫描王App用上了AI大模型 让扫描更清楚、提取文字更方便
对上班族来说,找到一个好用的工具类APP,绝对可以提升工作效率。比如最常见的扫描文件,公司的扫描仪虽然好用但是很难进行深度编辑且不能外出使用;很多手机App也有扫描功能,但技术能力总是差一点,当面对复杂…...

代价高昂的 IT 错误:识别并避免供应商锁定
陷入不提供所需服务的云服务器合同中可能会非常痛苦、令人沮丧且成本高昂。 供应商锁定是提供商难以切换的地方,这意味着企业迁移到新供应商的成本太高、破坏性太大或耗时。 这使得公司受到供应商的摆布,尽管该服务可能无法提供他们所需的可靠性或可扩…...

HBase集群环境搭建与测试
🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇 个人主页:beixi 本文章收录于专栏(点击传送):【大数据学习】 💓💓持续更新中,感谢各位前辈朋友们支持…...

【iOS】Masonry的基本使用
文章目录 前言一、使用Masonry的原因二、约束的常识三、Masonry的简单使用四、Masonry的用例总结 前言 暑假安装了cocoapods,简单使用其调用了SVGKit,但是没有学习Masonry,特此总结博客记录Masonry的学习 一、使用Masonry的原因 Masonry是一…...

浅析SAS协议:链路层
文章目录 概述原语通用原语连接管理原语连接通信原语 地址帧IDENTIFY地址帧OPEN地址帧 链路复位Link ResetHard ResetSATA的Link Reset 连接管理建立连接连接仲裁 流量控制SSP流控Credit Advance SMP流控 相关参考 概述 SAS链路层用于定义原语、地址帧以及连接相关的内容&…...
ES6之浅尝辄止1:class的用法
class是es6新增的一种语法糖,用于简化js中构造类的过程 1.es5中如何构造类? function Person(name,age){this.name name;this.age age; } Person.prototype.sayName function(){return this.name; } let p1 new Person(小明,22);2.es6中的class方式…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...