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…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
