C++ 数据类型与基础
命名空间的使用
如果是#include<iostream>,需要使用名称空间,using namespace std,而针对于#include<iostream.h> 则不需要使用名称空间,当然,后面这个带.h的头文件一般编译器包含了会使用较新的C++标准,所以会找不到iostream.
#include <iostream>int main()
{using namespace std;cout << "Hello";return 0;
}
4种使用方法
- 将using namespace std 放到函数定义之前
- 将using namespace std 放到函数定义中
- 使用using std::cout,而不是using namespace std 使用所有名称
- 完全不使用编译指令using,在使用的时候,直接std::cout获取
类型存储大小的限制
对应的类型可存储大小的限制,包含于#include<climits> (整型) #include<cfloat> (浮点型)
#include<climits>#define CHAR_BIT 8
#define SCHAR_MIN (-128)
#define SCHAR_MAX 127
#define UCHAR_MAX 0xff#define MB_LEN_MAX 5
#define SHRT_MIN (-32768)
#define SHRT_MAX 32767
#define USHRT_MAX 0xffff
#define INT_MIN (-2147483647 - 1)
#define INT_MAX 2147483647
#define UINT_MAX 0xffffffff
#define LONG_MIN (-2147483647L - 1)
#define LONG_MAX 2147483647L
#define ULONG_MAX 0xffffffffUL
#define LLONG_MAX 9223372036854775807i64
#define LLONG_MIN (-9223372036854775807i64 - 1)
#define ULLONG_MAX 0xffffffffffffffffui64#include<cfloat>#define DBL_DECIMAL_DIG 17 // # of decimal digits of rounding precision
#define DBL_DIG 15 // # of decimal digits of precision
#define DBL_EPSILON 2.2204460492503131e-016 // smallest such that 1.0+DBL_EPSILON != 1.0
#define DBL_HAS_SUBNORM 1 // type does support subnormal numbers
#define DBL_MANT_DIG 53 // # of bits in mantissa
#define DBL_MAX 1.7976931348623158e+308 // max value
#define DBL_MAX_10_EXP 308 // max decimal exponent
#define DBL_MAX_EXP 1024 // max binary exponent
#define DBL_MIN 2.2250738585072014e-308 // min positive value
#define DBL_MIN_10_EXP (-307) // min decimal exponent
#define DBL_MIN_EXP (-1021) // min binary exponent
#define _DBL_RADIX 2 // exponent radix
#define DBL_TRUE_MIN 4.9406564584124654e-324 // min positive value#define FLT_DECIMAL_DIG 9 // # of decimal digits of rounding precision
#define FLT_DIG 6 // # of decimal digits of precision
#define FLT_EPSILON 1.192092896e-07F // smallest such that 1.0+FLT_EPSILON != 1.0
#define FLT_HAS_SUBNORM 1 // type does support subnormal numbers
#define FLT_GUARD 0
#define FLT_MANT_DIG 24 // # of bits in mantissa
#define FLT_MAX 3.402823466e+38F // max value
#define FLT_MAX_10_EXP 38 // max decimal exponent
#define FLT_MAX_EXP 128 // max binary exponent
#define FLT_MIN 1.175494351e-38F // min normalized positive value
#define FLT_MIN_10_EXP (-37) // min decimal exponent
#define FLT_MIN_EXP (-125) // min binary exponent
#define FLT_NORMALIZE 0
#define FLT_RADIX 2 // exponent radix
#define FLT_TRUE_MIN 1.401298464e-45F // min positive value#define LDBL_DIG DBL_DIG // # of decimal digits of precision
#define LDBL_EPSILON DBL_EPSILON // smallest such that 1.0+LDBL_EPSILON != 1.0
#define LDBL_HAS_SUBNORM DBL_HAS_SUBNORM // type does support subnormal numbers
#define LDBL_MANT_DIG DBL_MANT_DIG // # of bits in mantissa
#define LDBL_MAX DBL_MAX // max value
#define LDBL_MAX_10_EXP DBL_MAX_10_EXP // max decimal exponent
#define LDBL_MAX_EXP DBL_MAX_EXP // max binary exponent
#define LDBL_MIN DBL_MIN // min normalized positive value
#define LDBL_MIN_10_EXP DBL_MIN_10_EXP // min decimal exponent
#define LDBL_MIN_EXP DBL_MIN_EXP // min binary exponent
#define _LDBL_RADIX _DBL_RADIX // exponent radix
#define LDBL_TRUE_MIN DBL_TRUE_MIN // min positive value
运算符 sizeof
确认对应的类型使用多少个字节,对于类型需要加括号,对于变量,括号是可选的
#include<iostream>
#include<climits>int main()
{using namespace std;int n_int = INT_MAX;short n_short = SHRT_MAX;long n_long = LONG_MAX;long long n_llong = LLONG_MAX;cout << sizeof(int) << endl; // output 4cout << sizeof n_short << endl; //output 2cout << sizeof n_long << endl; //output 4cout << sizeof n_llong << endl; //output 8return 0;
}
Const 限定符
C++ 定义常量使用const,具体用法是:const int Month=12;相对于C语言的#define有以下优点:
- 指明了常量的类型
- 可以被作用域规则限定,可以把作用域限定在函数里面
- 可以用于更为复杂的类型,比如是数组和结构体
浮点类型的精度
#include <iostream>int main()
{using namespace std;float a = 2.34e+22f;float b = a + 1.0f;cout << "a = " << a << endl;cout << "b - a = " << b - a << endl;return 0;
}//output
//a = 2.34e+22
//b - a = 0
由于float类型只能表示数字中的前6位,所以对小数点后的第23位加1,并没有改变这个浮点数
所以相减还是零
强制类型转换运算符 static_cast<>
#include <iostream>int main()
{using namespace std;char ch = 'A';cout << ch << endl; //Acout << int(ch) << endl; //65cout << static_cast<int>(ch) << endl; //65return 0;
}
auto声明
主要用法
std::vector<double> scores;
std::vector<double>::iterator pv = scores.begin();//asstd::vector<double> scores;
auto pv = scores.begin();
C++ 数据类型与基础相关推荐
- (一)Redis——五大数据类型及基础知识
一位爱好技术的橘右京的哥哥橘左京 Redis--五大数据类型及基础知识(一) Redis 1.Redis命令 1.1 常用String命令 1.2 常用List命令 1.3 常用Hash命令 1.4 ...
- JS中的原始数据类型(基础数据类型)和 引用数据类型
文章目录 一.js的数据类型划分方式为 原始数据类型(基础数据类型)和 引用数据类型 二.两种类型的区别 1.存储位置不同 2.传值方式不同 3.两种数据类型在实参和形参中的区别 一.js的数据类型划 ...
- Python学习1 基础语法 数据类型 计算机基础
Python的重要性 python就业方向 Python的历史 python创造于1989年,荷兰人吉多.范罗苏姆 现在是Python3版本 09 Python的特点 1)跨平台 2)解释型语言 3) ...
- 字符变量赋值规则_Java的常量、变量、数据类型(基础篇二)
标识符 标识符:是指在程序中自己定义的内容,如类名.方法名.变量名等等. 命名规则:是有硬性要求的 关键字:是指Java已经定义好的单词,具有特殊含义,比如public.static.class.vo ...
- java数据类型_JAVA基础篇(数据类型)
首先请大家想想这几个问题: 1.java数据类型是什么? 2.Java数据类型有什么用? 上一节(JAVA基础篇(函数))有个add函数,里面有两个int类型,int类型就是整数的意思,这一节我们来学 ...
- 反射 数据类型_Java基础:反射机制详解
一.什么是反射: (1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法.本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取t对 ...
- pythonsze_python学习笔记二 数据类型(基础篇)
Python基础 对于Python,一切事物都是对象,对象基于类创建 不同类型的类可以创造出字符串,数字,列表这样的对象,比如"koka".24.['北京', '上海', '深圳' ...
- typescript (一) 数据类型之 基础数据类型
(一)Typescript 概述 Typescript 是 Javascript 的超集,Javascript 有的 Typescript 都有,Typescript 包含 Javascript Ty ...
- python中列表数据类型_python基础数据类型一(列表)
列表 列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. 比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: ...
- python语言中不属于组合数据类型的是_python的基本语法(组合数据类型),基础...
python的基础语法(组合数据类型) 一,list列表 python 语言中使用组合数据类型进行操作, 最常见的组合数据类型之一~就是 list 列表. 1 什么是列表? 列表是 组合数据类型 中的 ...
最新文章
- ApplicationContextAware 接口
- Exchange 常见问题之二----3
- 这就是你们有钱人炫富的新方式吗?
- 微信支付服务器验证的java_Java中的微信支付(3):API V3对微信服务器响应进行签名验证...
- php sql 字段不能为空值,关于php:Sudden SQL问题-一般错误:1364字段没有默认值
- C++工程通过opencv找到自己定义的矩形中的两平行线的距离
- 菜鸟教程 程序员学习网站
- 北斗卫星导航系统的研究及应用
- Ubuntu速配指南之软件参考
- lnmp下配置PHP虚拟主机vhost
- cesium雷达图_cesium添加闪烁点,雷达图(一般用于预警)
- 微信小程序的推广思路与方法,详细思路解析
- vue报错:Not Found - GET https://registry.npmjs.org/- Not found
- Objective-C ------ 多态
- 想剑网三妹子最多服务器,每当谈论起哪款端游女生玩家多,为什么我们总是会想起剑网3?...
- 慕课python下载_python下载小说
- matlab导出dat,matlab如何生成数据dat文件
- 测试行业2018年报告总结
- 尤雨溪自述:打造Vue 3背后的故事
- 我们在设计类时应该注意的问题