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

学习C++、QT---03(C++的输入输出、C++的基本数据类型介绍)

每日一言

        你比想象中更强大,那些咬牙坚持的瞬间,都在雕刻更好的你。

案例:C++的输入输出

但是我也会用c语言的方式来回顾c语言的写法,因为两种语言都是密不可分的,所以不能忘记,所以两个一起写

注意点:

1、C++的输入就是cin也就是我们的键盘输入了对应scanf,输出的话就是cout原样输出对应printf

2、这个endl就是换行的意思对应我们的\n,不写也是可以运行的就是光标在输出内容的后面,不换行

这个C++的字符串和数据需要拼接起来的,比如c语言是这样写的printf(“a=%d\n”,a); 可以用占位符一气呵成

C++是这样写的 cout << “a=” << a <<endl;

反正看着还行,要学会接受C++的写法

这个>>方向不一样可以这样理解  我要输入的话那就 箭头指向要输入的内容 比如cin >> a  输出的话那就将箭头指向输出的载体比如cout << b << endl;

C++的基本数据类型

这个是C++的基本数据类型,基本上和c语言的很像

注意:

1:bool类型 C++有,C语言的话C99(1999年),包括C99以上才支持而且要添加头文件  stdbool.h 

2:wchar_t宽字符类型这个是没有的

看图说话

这个是C语言c99及以上使用bool类型需要的配置 头文件

这个是C++代码,可以直接使用bool类型,不需要头文件,因为就是标准库里面的、原生内置的

关于这个宽字符的话,我们在这个QT的这个编译器的话是会编译错误的,代码没问题,是更编译器的环境有关,这个我们后面遇到了再回头看吧

C++ 中, <climits> (或在 C 中是 <limits.h> )是一个标准头文件,提供了关于整型限制的信

息。这个头文件中定义了各种整型数据类型的属性,如最大值、最小值等。使用这些信息可以帮助你了

解在特定编译器和平台上各种数据类型的大小和范围。

如何使用 <climits>

要使用 <climits> 中定义的常量,你首先需要包含这个头文件:

然后,你可以使用它提供的各种常量,例如:

INT_MAX int 类型的最大值。

INT_MIN int 类型的最小值。

UINT_MAX unsigned int 类型的最大值。

LONG_MAX long int 类型的最大值。

LONG_MIN long int 类型的最小值。

LLONG_MAX long long int 类型的最大值。

LLONG_MIN long long int 类型的最小值

但是我突然发现头文件不添加<climits> 头文件也可以运行出来,这个是为什么???

解释:

这是因为 C++ 标准库的实现存在隐式依赖

问题原因:头文件的隐式依赖

<iostream> 可能间接包含了 <climits>
你的代码中包含了 <iostream>,而某些 C++ 标准库的实现(如 GCC 的 libstdc++)可能在 <iostream> 内部间接包含了 <climits>(或其 C 语言等价物 <limits.h>)。因此,即使你没有显式写出 #include <climits>,这些宏定义仍然可用。

编译器的扩展支持
部分编译器(如 GCC)可能默认预定义了一些常用的宏,以提供更好的兼容性,即使缺少相应的头文件

但是!!

根据 C++ 标准,使用 INT_MINUINT_MAX 等宏必须包含 <climits>(C++ 版本)或 <limits.h>(C 版本)。标准并未要求 <iostream> 必须包含这些定义,因此你的代码存在潜在风险为确保代码的可移植性规范性,应在使用这些宏的文件中显式添加 <climits>

还学会了一个知识就是头文件的引用方式,因为我很好奇为什么有的时候头文件是引号有的时候是尖括号???

尖括号 <filename>
  • 用途:用于包含系统标准库头文件(如 <stdio.h><iostream><vector>)。
 双引号 "filename"
  • 用途:用于包含用户自定义头文件(如项目内的 .h 文件)。

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

相关文章:

  • 【无标题】使用 Chocolatey 安装 WSL 管理工具 LxRunOffline
  • 贪心算法思路详解
  • Mac电脑-Markdown编辑器-Typora
  • 利用nRF54L15-DK的DEBUG OUT接口调试用户设计的ARM处理器系统
  • springboot口腔管理平台
  • 【分布式理论】读确认数与写确认数:分布式一致性的核心概念
  • WPF Style样式 全局样式资源字典
  • 获取 DOM 与 nextTick:Vue 中的 DOM 操作
  • CTF--PhP Web解题(走入CTF)
  • 增量学习ASAP的源码剖析:如何实现人形的运动追踪和全身控制(核心涉及HumanoidVerse中的agents模块)
  • Redis集群部署终极指南:架构选型、生产部署与深度优化
  • 人形机器人_双足行走动力学:本田机械腿的倒立摆模型
  • rt-thread中使用usb官方自带的驱动问题记录
  • 【全开源】填表问卷统计预约打卡表单系统+uniapp前端
  • 基于FPGA的白噪声信号发生器verilog实现,包含testbench和开发板硬件测试
  • 基于物联网的智能饮水机系统设计
  • API网关Apisix管理接口速查
  • STM32 CAN简介及帧格式
  • AR眼镜与3D建模社区建设
  • 3D可视化数字孪生智能服务平台-物联网智控节能控、管、维一体化技术架构
  • RA4M2开发IOT(0)----安装e² studio
  • QVariant详解与属性访问
  • 【设计模式】3.装饰模式
  • 算法导论第二十四章 深度学习前沿:从序列建模到创造式AI
  • MySQL之InnoDB存储引擎深度解析
  • 深度剖析 PACK_SESSIONID 实现原理与安全突破机制
  • 【环境配置】在Ubuntu Server上安装5090 PyTorch环境
  • Kubernetes控制平面组件:Kubelet详解(八):容器存储接口 CSI
  • 项目中后端如何处理异常?
  • 数据分析实操篇:京东淘宝商品实时数据获取与分析