C++学习基础数据知识点

作者: 久伴必知情深 | 来源:发表于2018-08-04 11:50 被阅读0次

基本数据类型

类型        关键字  描述                                                      所占字节数     最大值      最小值

布尔型     bool      存 值  true 或 false                                     bool                1                 0

字符型     char      通常是一个八位字节(一个字符)。这是一个整数类型 1

整型          int         对机器而言,整数的最自然的大小            4    2147483647   -2147483648

浮点型      float      单精度浮点值。单精度是这样的格式,1 位符号,8 位指数,23 位小数。 4 3.40282e+38 1.17549e-38   

双浮点型 double   双精度浮点值。双精度是 1 位符号,11 位指数,52 位小数。 8 1.79769e+308 2.22507e-308

无类型       void       表示类型的缺失。

宽字符型 wchar_t wchar_t 宽字符类型。2 或 4 2147483647 -2147483648

图1

修饰符

C++ 允许在 char、int 和 double 数据类型前放置修饰符,可以使用一个或多个类型修饰符进行修饰

修饰符 可修饰

signed 整型、字符型

unsigned 字符型

short 整型

long 双精度型

可以使用速记符号来声明无符号短整数或无符号长整数。可以不写 int,只写单词 unsigned、short 或 unsigned、long,int 是隐含的。例如,下面的两个语句都声明了无符号整型变量。

unsigned x;

unsigned int y;

定义常量

使用 #define 预处理器。

使用 const 关键字。

#define A 1;

//or

const int B = 2;

//也可以修饰指针

const int *p = &B;

//===

int const *p = &B;

//或者直接修饰p

int *const p = &B;

⚠️ 最好把常量定义为大写字母形式,

欢迎大家来学习。qun710520381  学习编号:久伴

C++ 存储类

存储类定义 C++ 程序中变量/函数的范围(可见性)和生命周期。

auto

register

static

extern

mutable

thread_local (C++11)

⚠️ 从 C++ 11 开始,auto 关键字不再是 C++ 存储类说明符,且 register 关键字被弃用。

auto

auto 用于声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符

register

register 用于定义存储在寄存器中而不是 RAM 中的局部变量

定义 'register' 并不意味着变量将被存储在寄存器中,它意味着变量可能存储在寄存器中,这取决于硬件和实现的限制。

static

static 保持局部变量的存在,不需要在每次它进入和离开作用域时进行创建和销毁,static 修饰符也可以应用于全局变量。当 static 修饰全局变量时,会使变量的作用域限制在声明它的文件内

extern

extern 用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的,对于无法初始化的变量,会把变量名指向一个之前定义过的存储位置。

这里有个疑问,全局变量的值在程序的整个生命周期内都是有效的,这个是指只能在生命它的文件内还是对所有文件起效? 那么 extern 和 static 修饰全局变量的功能不是有一个多余的吗?

thread_local

使用 thread_local 声明的变量仅可在它在其上创建的线程上访问。 变量在创建线程时创建,并在销毁线程时销毁。 每个线程都有其自己的变量副本。

thread_local 说明符可以与 static 或 extern 合并。

可以将 thread_local 仅应用于数据声明和定义,thread_local 不能用于函数声明或定义。

相关文章

  • C++学习基础数据知识点

    基本数据类型 类型 关键字 描述 所占字节数 最大值...

  • Android 开发的 C++ 基础 Notes

    注:原文地址 前言:下文是很基础的C++语法的 notes,只是个人学习 C++时,针对自己不熟悉的知识点做的零散...

  • C++基础(二)

    由于感觉自己对C++语言的知识点遗忘了好多,于是近期复习C++语言基础知识,重新学习一遍感觉又有好多新的收获。在复...

  • FFmpeg - 打造一款万能的音乐播放器

    从 c/c++ 基础、jni 基础、c/c++ 进阶、数据结构和算法、linux 内核、CMake 语法、Shel...

  • 4月学习计划task 1学习感受

      4月学习计划的算法与数据结构是基于 C++ 讲的,因此 task 1 是 C++ 基础,我在此之前学过 Jav...

  • Linux后台C++学习之路 & 面经知识点收录

    Linux后台C++学习之路 & 面经知识点收录 面经知识点收录 C++ extern "C"的作用:可以把程序编...

  • JSON数据转C++结构体

    JSON数据自动生成C++结构体 JSON数据自动生成C++结构体背景nlohmann/json基础Python自...

  • Java学习之路

    java基础怎么学? 当时,作为懵懂的小白,大一学习了c和c++,还有数据结构,后来才自学的java。有了c++的...

  • Python学习资料

    Python,数学基础,机器学习,深度学习,算法,数据挖掘,这里有你想要的 Python爬虫知识点梳理 Pytho...

  • C++ 学习笔记 输入输出控制

    在中国大学慕课MOOC上面,学习北大郭炜老师的《程序与设计》课程,学习C++语言的基本语法,对于一些基础知识点截屏...

网友评论

    本文标题:C++学习基础数据知识点

    本文链接:https://www.haomeiwen.com/subject/hpzpvftx.html