C++逆天合集
1.基础知识
1. 创建 编译 运行
touch a.cpp
gedit a.cpp
g++ -o a.out a.cpp
./a.out
2. a++ 等价于a = a + 1
3. ::运算符
4. 类型转换
赋给无符号类型超出其表达范围时,对总数取模得余数
赋给带符号类型超出其表达范围时,结果是undefined
一个算数表达式中既有无符号数又有有符号数时,会将有符号数转化成无符号数
5. 初始化不是赋值
初始化是创建变量时赋予其一个初始值
赋值是把对象的当前值擦除,以新值替代它
四种初始化方式(例 int a{0}; --C++11)
6. 建议初始化每一个内置类型的变量
7. extern
extern int i; #声明
int i; #声明并定义
extern int i = 1; #赋初值,抵消了extern的作用,变成定义了
8. 变量能且只能被定义一次,但是可以多次被声明
9. 引用
引用必须初始化,将和它的初始值对象一直绑定在一起,初始化必须是一个对象
引用不是对象,只是为已经存在的对象所起的另一个名字
引用本身不是一个对象,所以不能定义引用的引用
10. 指针
与引用类似,指针也实现了对其他对象的间接访问
指针本身就是对象,允许对指针赋值和拷贝,且在指针的生命周期内可以先后指向几个不同的对象
指针无须在定义时赋初值,和其他内置类型一样,在块作用域内定义的指针如果没有初始化,也将拥有一个不确定值
在声明语句中指针的类型实际上被用于指定它所指向对象的类型,所以二者必须匹配
指针值的四种状态:1.对象 2.紧邻对象所占空间的下一个位置 3.空指针 4.除此之外的无效指针
试图拷贝或以其他方式访问无效指针的值都会引发错误,编译器不负责检查这类错误,试图使用未初始化的变量也是如此
空指针
int *p = nullptr; //C++11,其可以转化为任意一类类型的指针
int *p = 0;
int *p = NULL;
面对一条比较复杂的指针或引用的声明语句时,从右向左阅读有助于弄清楚真实含义
int *p;
int *& r = p;
&说明r是一个引用,*说明r引用的是一个指针,int说明r引用的是一个int指针
相关文章:
C++逆天合集
1.基础知识 1. 创建 编译 运行 touch a.cpp gedit a.cpp g -o a.out a.cpp ./a.out 2. a 等价于a a 1 3. ::运算符 4. 类型转换 赋给无符号类型超出其表达范围时,对总数取模得余数 赋给带符号类型超出其表达范围时,结…...
stm32之15.超声波与灯光功能一起实现(进阶)
主函数代码修改 --------------------- 源码 int main(void) {uint32_t t0;uint32_t distance;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);led_init();key_init();/* 初始化串口1波特率为115200bps,若发送/接收数据有乱码,请检查PLL */usart1_ini…...
美创科技荣获“2023年网络安全优秀创新成果大赛—杭州分站赛”两项优胜奖
近日,由浙江省互联网信息办公室指导、中国网络安全产业联盟(CCIA)主办,浙江省网络空间安全协会承办的“2023年网络安全优秀创新成果大赛-杭州分站赛”正式公布评选结果。 经专家评审,美创科技报名参赛的解决方案—“医…...
使用gdb+gdbserver远程调试aarch64平台程序
嵌入式开发板子(aarch64)程序编译(在ubuntu远程调试) 1.支持coredump, 并且设置coredump路径等 //生成文件路径与格式 echo /data/coredump/%e-%t-%p-%c.core > /proc/sys/kernel/core_pattern // 设置开启coredump 并设置显示文件大小 void set_coreDumpAvalib(const rl…...
【CesiumJS入门】(9)获取地表两点的距离及中心点——EllipsoidGeodesic
前言 一般情况下,我们可以直接通过Cesium.Cartesian3.distance(left, right)来获取两点的距离,但获取到的是两点的直线距离: const start new Cesium.Cartesian3.fromDegrees(113,23); const end new Cesium.Cartesian3.fromDegrees(113,…...
OLED透明屏介绍:领先科技的革命性创新
OLED透明屏作为一项领先的科技创新,在产品设计和用户体验方面展现出了巨大的潜力。 在这篇文章中,尼伽将介绍OLED透明屏的定义、特点、应用领域以及未来发展趋势,以帮助您全面了解OLED透明屏。 一、OLED透明屏的定义与原理 1.1 定义&#x…...
ESXI补丁更新
一、准备工作 VMware 产品的补丁可从https://customerconnect.vmware.com/patch下载 使用 vSphere Web Client 将补丁上载至 ESXi 主机中的数据存储。(注意:VMware 建议在数据存储中创建一个新目录并将补丁文件上载至此目录。) 迁移主机上正…...
【每日易题】数组下标的逆天用法——你见过把数组存储的值当作数组下标来解题的吗?
君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,在最近是刷题中,遇到了一种非常新奇的数组下标的用法,今天想来给大家分享一下这种神奇的思路和方法,希望能在你遇到类似问题时能通…...
mysql基本操作
常用的数据类型 int 整型用于定义整数类型的数据float 单精度浮点4字节32位 准确表示到小数点后六位 double 双精度浮点8字节64位双精度浮点8字节64位char 固定长度的字符类型用于定义字符类型数据varchar可变长度的字符类型 text文本image图片de…...
vue组件的使用
一、首先要穿件组件构造器对象,或者导入组件 1..在本部分注册组件其中组件为子组件 2.在本部分注册组件 二、而后注册组件 1.在本部分注册组件其中组件为子组件 2.在本部分注册组件 三、 接着,使用组件。 1.在本部分注册组件其中组件为子组件 其中v-i…...
Axure设计之日期选择器(年月选择)
在系统中,日期选择器经常会用到,包括日历日期的选择、日期时间的选择和日期范围的选择,一般是下拉列表的形式进行选择。Axure没有自带的日期选择器,下面教大家如何在Axure中制作真实日期选择(年月选择)效果…...
CAD泰森多边形框架3D插件
插件介绍 CAD泰森多边形框架3D插件可用于在AutoCAD软件内生成三维Voronoi框架结构实体模型,适用于多孔Voronoi科研论文渲染绘图、Voronoi框架有限元建模、Voronoi空间结构优化等方面的应用。 使用说明 插件可设置生成的几何尺寸、晶格尺寸及边框直径等信息。 插…...
Django的render()函数的三个主要参数详解,特别是第三个字典类型的参数context
当在Django中使用 render() 函数时,它有三个主要参数:request,template_name,和 context。第三个参数,即 context,是一个字典,用于将数据传递给模板以进行渲染。 在下面的代码中: …...
统计不同字段的值域
目录 背景数据库表 需求目标SQL知识点注意点 背景 数据库 PostgreSQL 表 tbl_mr hosxblyfsylfkfs广东医院1301广东医院1404浙江医院0307浙江医院0209………… tbl_emr hosxblyfsylfkfs广东医院9999903广东医院1408浙江医院9507浙江医院0214………… 其中 xb 字段为 num…...
js this 指的是什么
1 对象中方法 函数中的this 指的是包含它的对象, 子对象中的this指的是全局在浏览器中是 window 对象 var obj1 {this1funcA: function() {var obj2 {innerFunc: function() {this2}};obj3{ this3 }}obj4{ this4 } }; 在这个对象中,this 的指向会随着调用上…...
用pytorch实现Resnet
ResNet(Residual Network)是一种深度卷积神经网络架构,由Kaiming He等人于2015年提出。它在计算机视觉领域引起了革命性的变革,使得训练更深的神经网络成为可能,超越了传统网络架构的限制。 ResNet的主要创新在于…...
C++类成员的访问权限以及类的封装
C通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。所谓访问权限,就是你能不能使用该类中的成员。 Java、C# 程序员注意,C 中的 publ…...
Linux 多线程解决客户端与服务器端通信
一、一个服务器端只能和一个客户端进行通信(单线程模式) 客户端代码ser.c如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<sys/socket.h> #include<netinet…...
FMX的TListBox单选列表框
TListBox功能比较全,对于选择项,有“两种”模式,一种就是ListItem选中(界面上就是焦点和颜色变化),可以无,单选和多选。另一种是通过CheckBox来选择ListItem的选中。默认下,ShowChec…...
prompt工程(持续更新ing...)
诸神缄默不语-个人CSDN博文目录 我准备想办法把这些东西整合到我的ScholarEase项目里。到时候按照分类、按照prompt生成方法列一堆选项,用户自己生成prompt后可以选择在ScholarEase里面聊天,也可以复制到别的地方(比如ChatGPT网页版之类的&a…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
