news 2026/3/2 19:18:37

C++ 数据类型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++ 数据类型

C++ 基本数据类型

C++ 提供了多种内置数据类型,用于存储不同种类的数据。这些数据类型可以分为以下几类:

整型

  • int:用于存储整数,通常占用 4 字节。
  • short:短整型,通常占用 2 字节。
  • long:长整型,通常占用 4 或 8 字节。
  • long long:更长的整型,通常占用 8 字节。

浮点型

  • float:单精度浮点数,通常占用 4 字节。
  • double:双精度浮点数,通常占用 8 字节。
  • long double:扩展精度浮点数,通常占用 8 或 16 字节。

字符型

  • char:用于存储单个字符,通常占用 1 字节。
  • wchar_t:宽字符,用于存储 Unicode 字符。
  • char16_tchar32_t:用于存储 UTF-16 和 UTF-32 编码的字符。

布尔型

  • bool:用于存储布尔值(truefalse),通常占用 1 字节。

数据类型修饰符

C++ 提供了修饰符来改变数据类型的含义:

  • signed:表示有符号数(默认)。
  • unsigned:表示无符号数,只能存储非负数。
  • shortlong:用于调整整型的长度。

例如:

unsigned int positiveNumber = 42; long double highPrecision = 3.14159265358979323846;

类型大小与范围

数据类型的大小和范围依赖于编译器和平台。可以使用sizeof运算符获取类型的大小:

cout << "Size of int: " << sizeof(int) << " bytes" << endl;

典型范围(32/64 位系统):

  • int:-2,147,483,648 到 2,147,483,647
  • unsigned int:0 到 4,294,967,295
  • float:约 ±3.4e±38(7 位有效数字)
  • double:约 ±1.7e±308(15 位有效数字)

类型转换

C++ 支持隐式和显式类型转换:

  • 隐式转换:编译器自动进行的类型转换。
  • 显式转换:通过static_castdynamic_castconst_castreinterpret_cast实现。

例如:

int i = 42; double d = i; // 隐式转换 float f = static_cast<float>(d); // 显式转换

自定义数据类型

除了内置类型,C++ 还允许用户定义自己的数据类型:

  • struct:结构体,用于组合不同类型的数据。
  • class:类,用于实现面向对象编程。
  • enum:枚举,用于定义一组命名的常量。
  • typedefusing:用于创建类型别名。

例如:

struct Point { int x; int y; }; enum Color { Red, Green, Blue }; using Distance = double;

类型推断

C++11 引入了auto关键字,用于自动推断变量类型:

auto x = 42; // x 的类型为 int auto y = 3.14; // y 的类型为 double

总结

C++ 提供了丰富的数据类型以满足不同的编程需求。理解这些类型的特点和适用范围,有助于编写高效、可靠的代码。在实际开发中,应根据数据的性质和操作需求选择合适的数据类型。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/28 16:22:50

LVGL构建可扩展HMI架构:全面讲解

用LVGL打造工业级可扩展HMI&#xff1a;从零构建高内聚低耦合架构你有没有遇到过这样的场景&#xff1f;项目初期&#xff0c;UI需求简单&#xff0c;几行lv_label_set_text()就搞定了。可随着功能迭代&#xff0c;界面越来越复杂——页面多了、交互深了、团队人也加进来了。结…

作者头像 李华
网站建设 2026/2/28 16:11:29

ArduPilot与BLHeli电调通信超时问题解决:实战案例

ArduPilot与BLHeli电调通信超时&#xff1f;一文讲透实战排障全过程 最近在调试一台基于Pixhawk的四轴飞行器时&#xff0c;遇到了一个典型的“疑难杂症”&#xff1a;上电后电机蜂鸣自检不完整&#xff0c;地面站频频弹出 ESC timeout on channel X 警告&#xff0c;手动…

作者头像 李华
网站建设 2026/3/1 11:43:22

核心要点:模拟电子技术基础中的增益带宽积

增益带宽积&#xff1a;模拟电路设计中被低估的“性能守恒定律” 你有没有遇到过这样的情况&#xff1f; 一个放大器电路&#xff0c;增益算得精准、电阻选得精密&#xff0c;结果一接上信号——高频部分“塌”了&#xff0c;波形边缘变得圆润迟钝&#xff0c;就像老式电视信号…

作者头像 李华
网站建设 2026/2/27 14:07:46

医美拓客困局:流量焦虑、信任危机、转化乏力,如何破局?

一条抖音视频投入上万元&#xff0c;却只换来零星私信咨询&#xff1b;直播间热热闹闹&#xff0c;用户却只围观不下单&#xff1b;团购套餐上线后&#xff0c;同城曝光始终打不开…这是当下医美行业营销推广的真实写照。在互联网流量红利逐渐消退、平台监管日益严格、消费者决…

作者头像 李华
网站建设 2026/3/2 17:17:54

无源蜂鸣器驱动电路中的三极管应用详解

如何用三极管“驯服”无源蜂鸣器&#xff1f;一个低成本高可靠驱动方案的深度实践在做嵌入式开发时&#xff0c;你有没有遇到过这样的场景&#xff1a;明明代码已经输出了PWM信号&#xff0c;但蜂鸣器要么不响&#xff0c;要么声音发闷、断续&#xff0c;甚至系统莫名其妙复位&…

作者头像 李华
网站建设 2026/2/28 3:52:46

单片机实现的工厂模式

工厂模式是抽象出来&#xff0c;使得对象的方法不依赖于具体实现。按照专业术语来说有个做依赖倒置原则&#xff0c;即高层模块不应依赖于低层模块&#xff0c;二者应依赖于抽象。抽象不应依赖于细节&#xff0c;细节应依赖于抽象。 以最简单的LED灯为例&#xff0c;我们可以将…

作者头像 李华