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

【C++】数据类型

C++ 数据类型可以分为以下几大类:

1. 内置数据类型(基本数据类型)

  • 整型

    • int:整数类型,通常是 4 字节。
    • short:短整型,通常是 2 字节。
    • long:长整型,通常是 4 字节或 8 字节。
    • long long:更长的整型,通常是 8 字节。
    • unsigned int:无符号整型,通常是 4 字节。
    • unsigned short:无符号短整型。
    • unsigned long:无符号长整型。
    • unsigned long long:无符号长长整型。
  • 浮点型

    • float:单精度浮点型,通常是 4 字节。
    • double:双精度浮点型,通常是 8 字节。
    • long double:扩展精度浮点型,通常是 8 字节或 12 字节。
  • 字符类型

    • char:字符类型,通常是 1 字节。
    • signed char:有符号字符类型。
    • unsigned char:无符号字符类型。
  • 布尔类型

    • bool:布尔类型,表示 truefalse,通常是 1 字节。
  • 空类型

    • void:表示没有类型,用于函数返回值、指针类型等。

2. 指针类型(Pointer Types)

指针用于存储变量的内存地址。

  • int*:指向 int 类型的指针。
  • char*:指向 char 类型的指针。
  • float*:指向 float 类型的指针。
  • void*:指向任何类型的指针(通用指针)。

3. 引用类型(Reference Types)

引用是变量的别名,可以直接操作原始数据。

  • int&:指向 int 类型的引用。

4. 数组类型(Array Types)

数组是固定大小的同类型数据集合。

  • int arr[10]:包含 10 个 int 类型元素的数组。

5. 结构体类型(Struct Types)

结构体用于组合不同类型的成员。

struct Person {
    std::string name;
    int age;
};

6. 类类型(Class Types)

类是 C++ 的面向对象编程基础,可以包含成员函数、构造函数、析构函数等。

class Person {
public:
    std::string name;
    int age;
};

7. 联合体类型(Union Types)

联合体允许多个不同类型的成员共享同一块内存。

union Data {
    int i;
    float f;
};

8. 枚举类型(Enum Types)

枚举类型用于定义一组命名的整数常量。

enum Day { Sunday, Monday, Tuesday };

9. 类型别名(Type Aliases)

类型别名用 typedefusing 为已有类型创建别名。

  • typedef unsigned long ulong;
  • using ulong = unsigned long;

10. 模板类型(Template Types)

模板允许定义通用的函数或类,支持不同的数据类型。

template <typename T>
T add(T a, T b) { return a + b; }

11. STL 类型(标准模板库类型)

C++ 标准库提供的容器类型和工具类型:

  • std::vector:动态数组。
  • std::list:双向链表。
  • std::map:键值对集合。
  • std::string:字符串。
  • std::pair:一对值。

12. Lambda 表达式(Lambda Expressions)

Lambda 表达式是一种定义匿名函数的方法。

auto add = [](int a, int b) { return a + b; };

13. 智能指针类型(Smart Pointer Types)

智能指针用于自动管理动态内存。

  • std::unique_ptr:独占所有权的智能指针。
  • std::shared_ptr:共享所有权的智能指针。
  • std::weak_ptr:观察指针,不影响引用计数。

14. 函数类型(Function Types)

C++ 允许定义函数指针类型,指向特定签名的函数。

int (*func_ptr)(int, int);  // 指向返回值为 int,参数为两个 int 类型的函数指针

总结:

C++ 数据类型大致可以分为:

  • 内置类型:整型、浮点型、字符型、布尔型、空类型。
  • 复杂类型:指针类型、引用类型、数组类型、结构体类型、类类型、联合体类型、枚举类型。
  • 其他类型:类型别名、模板类型、STL 类型、Lambda 表达式、智能指针、函数类型。

这些类型提供了丰富的选项,帮助程序员更好地管理和操作数据。

相关文章:

  • LLM中的transformer结构学习(二 完结 Multi-Head Attention、Encoder、Decoder)
  • Python之pyqt5生成计算机前端页面并运行
  • 零成本短视频爆款制造手册
  • Python正则表达式完全指南:从入门到精通
  • 使用AI一步一步实现若依前端(5)
  • Catia 转 StL:打通数字化设计与制造的关键纽带
  • TCP并发服务器
  • Vue 实现智能检测文字是否溢出,溢出显示省略号,鼠标悬浮显示全部【附封装组件完整代码+详细注释+粘贴即食】
  • Vue前端开发-Coupon组件
  • javaweb自用笔记:请求参数、响应、分层解耦、
  • 一二三应用开发平台——能力扩展:多数据源支持
  • 模板方法模式的C++实现示例
  • React基础之项目实战
  • 贵工程寝室报修系统的设计与实现
  • JavaScript 变量与常量全面解析
  • 在线程间共享数据_第三章_《C++并发编程》笔记
  • 什么是Flask
  • spring6概述
  • HTML 基础
  • el-pagination的使用说明
  • 媒体:演员黄杨钿甜耳环事件仍有三大疑问待解
  • 澎湃思想周报|《混沌少年时》与青少年社媒禁令;自雇陷阱
  • 取得金奖西瓜品种独家使用权的上海金山,为何要到异地“试种”?
  • 美国恶劣天气已造成至少28人死亡
  • 商务部:对原产于美国、欧盟、台湾地区和日本的进口共聚聚甲醛征收反倾销税
  • 舞者王佳俊谈“与AI共舞”:像多了一个舞伴,要考虑它的“感受”