c++数据
2018-12-20 09:32:58来源:博客园 阅读 ()
1.变量名
命名规则:
- 在名称中只能使用字母字符、数字和下划线;
- 名称的第一个字符不能是数字;
- 不能将C++关键词用作名称。
常用的前缀:n-整数,str/sz-字符串,b-布尔值,p-指针,c-单个字符,m-类成员值
2.整形
- short 至少16位;
- int至少与short一样长;
- long至少32位,且至少与int一样长;
- long long至少64位,且至少与long一样长。
3.无符号类型
当数值不会为负时,使用无符号类型,如人口等。要创建无符号版本的基本整型,只需要使用关键字unsigned来修改声明即可。如果short的表示范围为-32768到+32767,那么无符号版本的表示范围为0-65535,可见其优点是可以增大变量能够存储的最大值。
类型如何选择:
- 若变量表示的值不可能为负,则可以使用无符号类型,这样变量可以表示更大的值;
- 若知道变量可能表示的整数值大于16位整数的最大可能值,则使用long。即使系统上int为32位,也要这样做。如果要存储的值超过20亿,可使用long long。
- 若short比int小,则使用short可以节省内存。通常,仅当有大型整型数组时,才有必要使用short。如果节省内存很重要,则应使用short而不是使用int。例如,若将程序从int为16位的系统移到int为32位的系统,则用于存储int数组的内存量将加倍,但short数组不受影响。
与int不同的是,char在默认情况下既不是没有符号,也不是有符号。如果char有某种特定的行为非常重要,则可以显式地将类型设置为signed char或unsigned char
4.const
一种常见的做法是将变量名称的首字母大写,以提醒这个变量是常量。或将整个变量名称大写,使用#define创建常量时通常使用这种约定 。
下表列出了七种基本的 C++ 数据类型:
布尔型 | bool |
字符型 | char |
整型 | int |
浮点型 | float |
双浮点型 | double |
无类型 | void |
宽字符型 | wchar_t |
一些基本类型可以使用一个或多个类型修饰符进行修饰:
- signed
- unsigned
- short
- long
下表显示了各种变量类型在内存中存储值时需要占用的内存,以及该类型的变量所能存储的最大值和最小值。
注意:不同系统会有所差异。
类型 | 位 | 范围 |
---|---|---|
char | 1 个字节 | -128 到 127 或者 0 到 255 |
unsigned char | 1 个字节 | 0 到 255 |
signed char | 1 个字节 | -128 到 127 |
int | 4 个字节 | -2147483648 到 2147483647 |
unsigned int | 4 个字节 | 0 到 4294967295 |
signed int | 4 个字节 | -2147483648 到 2147483647 |
short int | 2 个字节 | -32768 到 32767 |
unsigned short int | 2 个字节 | 0 到 65,535 |
signed short int | 2 个字节 | -32768 到 32767 |
long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
signed long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned long int | 8 个字节 | 0 to 18,446,744,073,709,551,615 |
float | 4 个字节 | +/- 3.4e +/- 38 (~7 个数字) |
double | 8 个字节 | +/- 1.7e +/- 308 (~15 个数字) |
long double | 16 个字节 | +/- 1.7e +/- 308 (~15 个数字) |
wchar_t | 2 或 4 个字节 | 1 个宽字符 |
5.类型转换
c++自动执行很多类型转换
- 将一种算术类型的值赋给另一种算术类型的变量时,c++将对值进行转换;
- 表达式中包含不同的类型时,c++将对值进行转换;
- 将参数传递给函数时,c++将对值进行转换。
c++11新增了一个工具,让编译器能够根据初始值的类型推断变量的类型。即auto
如 auto n = 100; //n是int型
auto x = 1.5; //x是double型
在处理复杂类型,比如标准模块库(STL)中的类型时,自动类型推断的优势才能显现出来,如:在c++98中的代码
std::vector<double> scores;
std::vector<double>::iterator pv = scores.begin();
c++11允许将其写为:
std::vector<double> scores;
auto pv = scores.begin();
参考:《c++ primer plus》
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:斜率优化dp—从入门到吐血
下一篇:c++复合类型
- C++ 转换函数搭配友元函数 2020-06-10
- C++ 自动转换和强制类型转换(用户自定义类类型) 2020-06-10
- C++ rand函数 2020-06-10
- C++ 友元函数 2020-06-10
- C++ 运算符重载 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash