首页 > 编程语言 >C++数据类型

C++数据类型

时间:2024-07-23 09:41:55浏览次数:9  
标签:std int 数据类型 unsigned long C++ 类型

基本数据类型 (Primitive Data Types)

  1. 整数类型 (Integer Types)

    • int:用于表示整数,大小通常为 4 字节(32 位),范围约为 -2,147,483,648 到 2,147,483,647。
      int a = 10;
      
    • short:表示较小的整数,通常为 2 字节(16 位),范围约为 -32,768 到 32,767。
      short b = 100;
      
    • long:表示较大的整数,通常为 4 字节(32 位)或 8 字节(64 位),取决于平台。
      long c = 100000L;
      
    • long long:表示更大的整数,至少为 8 字节(64 位),范围非常大。
      long long d = 100000000000LL;
      

    这些类型可以是有符号(signed)或无符号(unsigned)。

    unsigned int e = 100U;
    
  2. 字符类型 (Character Type)

    • char:表示单个字符,通常为 1 字节(8 位),可以是有符号(signed char)或无符号(unsigned char)。
      char f = 'A';
      unsigned char g = 255;
      
  3. 浮点类型 (Floating-point Types)

    • float:表示单精度浮点数,通常为 4 字节(32 位)。
      float h = 3.14f;
      
    • double:表示双精度浮点数,通常为 8 字节(64 位)。
      double i = 3.141592653589793;
      
    • long double:表示扩展精度浮点数,通常为 8、12、16 字节或更多,具体取决于实现。
      long double j = 3.141592653589793238L;
      

修饰符 (Modifiers)

  • signedunsigned:指定整数类型的符号。

    signed int k = -10;
    unsigned int l = 10U;
    
  • shortlong:指定整数类型的大小。

    short m = 100;
    long n = 100000L;
    

布尔类型 (Boolean Type)

  • bool:表示布尔值,仅有两个取值:truefalse
    bool o = true;
    

枚举类型 (Enumeration Types)

  • enum:定义一组具名整型常量。
    enum Color { RED, GREEN, BLUE };
    Color p = RED;
    

类型别名 (Type Aliases)

  • typedefusing:用于创建类型的别名。
    typedef unsigned long ulong;
    using uint = unsigned int;
    ulong q = 100000UL;
    uint r = 100U;
    

复合数据类型 (Compound Data Types)

  1. 数组 (Arrays)

    • 用于存储相同数据类型的多个值。
      int numbers[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
      
  2. 指针 (Pointers)

    • 用于存储变量的地址。
      int s = 10;
      int* ptr = &s;
      
  3. 引用 (References)

    • 用于创建一个变量的别名。
      int t = 10;
      int& ref = t;
      

自定义数据类型 (User-defined Data Types)

  1. 结构体 (Structures)

    • struct:用于定义一个由不同数据类型组成的数据集合。
      struct Person {
        std::string name;
        int age;
      };
      Person u = {"Alice", 30};
      
  2. 类 (Classes)

    • class:与结构体类似,但提供更多面向对象的特性,如封装、继承和多态。
      class Car {
      private:
        std::string model;
      public:
        void setModel(const std::string& m) { model = m; }
        std::string getModel() const { return model; }
      };
      Car v;
      v.setModel("Tesla");
      
  3. 联合体 (Unions)

    • union:允许不同数据类型共用同一内存区域。
      union Data {
        int intVal;
        float floatVal;
      };
      Data w;
      w.intVal = 10;
      
  4. 类型枚举 (Enumerations)

    • enumenum class:用于定义一组具名整型常量。enum class 提供更强的类型安全。
      enum class Status { SUCCESS, FAILURE };
      Status x = Status::SUCCESS;
      

其他数据类型

  1. 空类型 (Void Type)

    • void:用于表示无类型。常用于函数的返回类型,表示该函数不返回任何值。
      void myFunction() {
        // 函数体
      }
      
  2. 标准库类型 (Standard Library Types)

    • C++ 标准库提供了许多额外的数据类型,如 std::stringstd::vectorstd::map 等,用于更复杂的数据操作。
      std::string str = "Hello, World!";
      std::vector<int> vec = {1, 2, 3, 4, 5};
      std::map<std::string, int> ages = {{"Alice", 30}, {"Bob", 25}};
      

这些数据类型和修饰符构成了 C++ 强大且灵活的类型系统,使得开发者可以高效地处理各种数据需求。

标签:std,int,数据类型,unsigned,long,C++,类型
From: https://www.cnblogs.com/checha/p/18317579

相关文章

  • Java 支持的数据类型与 MySQL 支持的数据类型对比
    Java支持的数据类型与MySQL支持的数据类型对比整数类型:Java:byte,short,int,longMySQL:TINYINT,SMALLINT,INT,BIGINT对应关系:byte对应MySQL的TINYINTshort对应MySQL的SMALLINTint对应MySQL的INTlong对应MySQL的BIGINT浮点数类型:Java......
  • C++STL
    C++标准模板库(StandardTemplateLibrary,STL)是一套功能强大的C++模板类和函数的集合,它提供了一系列通用的、可复用的算法和数据结构。STL的设计基于泛型编程,这意味着使用模板可以编写出独立于任何特定数据类型的代码。泛型编程:不使用具体数据类型(int、double、float等),而是使......
  • C++ 特殊成员函数的注意事项
    在C++中,特殊成员函数指的是编译器在某些特定情况下会自动生成的成员函数,包括默认构造函数、析构函数、拷贝构造函数、拷贝赋值运算符、移动构造函数和移动赋值运算符。了解并正确使用这些特殊成员函数对于编写高效、可维护的C++代码至关重要。以下是一些关于这些特殊成员函数......
  • C/C++ 内存管理
    C/C++内存管理1.C/C++内存分布2.C语言中动态内存管理方式:malloc/calloc/realloc/free3.C++内存管理方式3.1new/delete操作内置类型3.2new和delete操作自定义类型4.operatornew与operatordelete函数(重要点进行讲解)4.1operatornew与operatordelete函数(重点)5.......
  • C语言的数据类型、变量、操作符、printf、scanf详解
    目录一、数据类型1.1、什么是数据类型1.2、数据类型有哪些(1)字符型(2)整型(3)浮点型(4)布尔型1.3、有符号signed和无符号unsigned1.4、sizeof操作符二、变量2.1、变量的创建2.2、变量的分类2.3、变量的初始化三、操作符3.1、算术操作符3.2、赋值操作符3.3、单目操作......
  • C++狼人杀游戏
    #include<bits/stdc++.h>#include<cstdio>#include<cstdlib>#include<ctime>#include<windows.h>usingnamespacestd;structIDname{intgeshu;stringNAME;};IDnamejue_se[100];structID{intnum;boollife;......
  • learncpp-1 C++基础
    1C++基础1.1语句和程序结构语句是一条让计算机执行某个动作的指令,是C++语言中最小的独立计算单元在高级语言(例如C++)中,一条语句可能编译成多条机器指令大多数语句以;结尾声明语句跳转表达式语句复合语句选择语句(条件语句)迭代语句(循环语句)try代码块函......
  • C++学习笔记
    -------------------------------------------------------------------给一个无单向不循环链表的首结点l,编写程序反转链表,并返回反转后的链表首结点structllist_node{intval;structllist_node*next;};structllist_node*func(structllist_node*l){......
  • c++(4) sophus可视化和计算误差
             CMakeLists.txtproject(test)find_package(PangolinREQUIRED)include_directories(${Pangolin_INCLUDE_DIRS})find_package(fmtREQUIRED)set(FMT_LIBRARIESfmt::fmt)#set(v1_node_filemain.cpp)add_executable(v1_nodemain.cpp)......
  • 【c++经典面试题】有关string类的深浅拷贝
    题目背景基于自实现string类substr成员函数时遇到的问题。代码展示stringstring::substr(size_tpos,size_tlen)//声明时len的参省值位npos { assert(pos<_size); if(len>_size-pos)//如果len的长度大于有效字符长度,那么重置为有效字符长度 { le......