当前位置: 首页 > news >正文

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指针

http://www.lryc.cn/news/139251.html

相关文章:

  • stm32之15.超声波与灯光功能一起实现(进阶)
  • 美创科技荣获“2023年网络安全优秀创新成果大赛—杭州分站赛”两项优胜奖
  • 使用gdb+gdbserver远程调试aarch64平台程序
  • 【CesiumJS入门】(9)获取地表两点的距离及中心点——EllipsoidGeodesic
  • OLED透明屏介绍:领先科技的革命性创新
  • ESXI补丁更新
  • 【每日易题】数组下标的逆天用法——你见过把数组存储的值当作数组下标来解题的吗?
  • mysql基本操作
  • vue组件的使用
  • Axure设计之日期选择器(年月选择)
  • CAD泰森多边形框架3D插件
  • Django的render()函数的三个主要参数详解,特别是第三个字典类型的参数context
  • 统计不同字段的值域
  • js this 指的是什么
  • 用pytorch实现Resnet
  • C++类成员的访问权限以及类的封装
  • Linux 多线程解决客户端与服务器端通信
  • FMX的TListBox单选列表框
  • prompt工程(持续更新ing...)
  • win11 docker-desktop安装记录
  • opencv特征提取、梯度计算
  • AI绘画工具MJ新功能有点东西,小白也能轻松一键换装
  • java springboot sql防注入的6种方式
  • 深度学习实战49-基于卷积神经网络和注意力机制的汽车品牌与型号分类识别的应用
  • Open3D(C++) 可视化(3)——批量动态可视化点云
  • opencv 文档识别+UI界面识别系统
  • 下|税收大数据应用研究
  • 数据库连接池druid 的jar包官网下载-最新版下载
  • 2023河南萌新联赛第(六)场:河南理工大学 C - 旅游
  • Java | IDEA中Netty运行多个client的方法