C++的类型(一)

  变量

变量的作用

  • 信息存储在哪里
  • 要存储什么值
  • 存储何种类型的信息

命名规则

  • 在名称中只能使用字母字符、数字和下划线
  • 名称的第一个字符不能是数字
  • 区分大小写字符
  • 不能将C++关键字用作名称
  • 以两个下划线或下划线和大写字母开头的名称保留给编译器及其使用的资源,以一个下划线开头的名称用作全局标识符
  • C++名字的长度没有限制

  整型

1 int _tmain(int argc, _TCHAR* argv[])
2 {
3     using namespace std;
4     cout << sizeof(short) << endl;
5     cout << sizeof(int) << endl;
6     cout << sizeof(long) << endl;
7     cout << sizeof(long long) << endl;
8     return 0;
9 }

整型字面量

  分为十进制、八进制、十六进制等等表示方法仅仅是为了表达上的方便,他们都是以二进制的形式被存储。

下面是cout输出各种进制的方式,

1     int waist = 42;
2     cout << waist << endl;
3     cout << hex;//十六进制输出
4     cout << waist << endl;
5     cout << oct;//8进制输出
6     cout << waist << endl;
7     cout << dec;//十进制输出
8     cout << waist << endl;

  const限定符

创建常量通用格式如下:

  const type name=value;在声明中就必须对const进行初始化。

const对比#define的优点:

  • 能够明确指定类型
  • 可以使用C++的作用域规则将定义限制在特定的函数或文件中
  • 可以将const用于复杂的类型

  浮点数

  浮点数分为3种类型:float、double和long double。这些类型是按他们可以表示的有效数位和允许的指数最小范围来描述的。如:2.5, 3.32e+022,1.23f这些都是浮点数。

浮点数相对于整数的优缺点:

  • 可以表示整数之间的数值
  • 表示的范围比整数大
  • 运算速度比整数慢且精度低

  类型转换

  • 初始化赋值进行转换

C++允许将一种类型的变量的值赋给另一种类型的变量。这种转换一般会造成数据精度的丢失。

1     int num1 = 5;
2     float num2 = num1;
  • 以{}方式初始化时进行的转换

这种转换方式要求比较严格,列表初始化不允许缩窄,如不允许将浮点数转换为整型

  • 表达式中转换
  • 传递参数中转换

  都和第一种转换方式差不多

  • 强制类型转换

通用格式如下:

C的方式:(typename)value

C++的方式:typename(value)     static_cast<typename>(value)

1     char ch = ‘A‘;
2     cout << static_cast<int>(ch) << endl;

时间: 2024-10-24 15:50:32

C++的类型(一)的相关文章

菜鸟学python之对象类型及运算

Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型. 等号(=)用来给变量赋值. 1 变量赋值 1.1 单个变量赋值 >>> name="python" >>> print(name) python 1.2 多个变量赋值 >>> name=names="python&

JavaScript的进阶之路(三)引用类型之Object类型和Array类型

引用类型 Object类型 function a(num){ if(num>3){ a(--num); } console.log(num); } a(5); //如何创建对象的实例 var obj1= new Object(); console.log(obj1); obj1.name="吴琼"; obj1.age=28; console.log(obj1.name+" "+obj1.age); //对象字面量语法 ,有点封装的感觉 var obj2 = {

WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等

核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Webshell上传.命令注入.非法HTTP协议请求.非授权文件访问等.

float类型如何转换为string类型

在一些很大的float类型的地方会用科学记数法表示,这个时候如果想完整记录下来,还是得转字符串,这里书写一个float类型转string类型的方法 <?php function float_to_string($float=0) { if(stripos($float, "e")!==false) { $tmp = explode("e",strtolower($float)); $float=bcmul($tmp[0], bcpow(10, $tmp[1])

主键类型定义错了调试了半天

package com.itheima.demo1; import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table; @Entity@Table(name="u_user")public class User

js判断浏览器类型

js判断浏览器类型  <script type="text/javascript" >     <!--   function getOs()   {       var OsObject = "";      if(isIE = navigator.userAgent.indexOf("MSIE")!=-1) {           return "MSIE";      }      if(isFiref

Python的动态类型

动态类型:                                                      在python中,类型是在运行过程中自动决定的,而不是通过代码声明的. 变量:                                                                                     变量是一个系统表的元素,拥有指向对象的连接的空间 python中,类型的概念是存在于对象中的,而不是变量中,变量是通用的. 变量的使用

Python有了asyncio和aiohttp在爬虫这类型IO任务中多线程/多进程还有存在的必要吗?

最近正在学习Python中的异步编程,看了一些博客后做了一些小测验:对比asyncio+aiohttp的爬虫和asyncio+aiohttp+concurrent.futures(线程池/进程池)在效率中的差异,注释:在爬虫中我几乎没有使用任何计算性任务,为了探测异步的性能,全部都只是做了网络IO请求,就是说aiohttp把网页get完就程序就done了. 结果发现前者的效率比后者还要高.我询问了另外一位博主,(提供代码的博主没回我信息),他说使用concurrent.futures的话因为我全

译:SOS_SCHEDULER_YIELD类型等待在虚拟机环境中的增多

原文出处:Increased SOS_SCHEDULER_YIELD waits on virtual machines 注: 原文的用词是Increased,想译作增强(增长),或者加强,这么译起来是褒义词,而原文要表达的Increased并没有褒义的含义,最起码是一个中性的含义,想来想起用一个“滋长”偏编译的含义还是比较合适的,感觉还是有点过于贬义了,还是用最通俗的增多吧.个人英语水平有限,另外就是对于文中提到的“rdtsc周期”也不是非常清楚,翻译的也不是很清楚,权当是自娱自乐.总是原文的

PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结

  前  言  OOP  学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1  PHP中的抽象类与抽象方法 1.什么是抽象方法?              没有方法体 {} 的方法,必须使用abstract 关键字修饰.这样的方,我们叫做抽象方法.                    abstract function say(); //    抽象方法 2.什么是抽象类?