当前位置: 首页 > news >正文

网上做视频赚钱的网站有哪些长沙建站优化

网上做视频赚钱的网站有哪些,长沙建站优化,建设一个视频网站需要什么,徐州集团网站建设目录 前言 一、 C语言中的类型转换 二、为什么C需要四种类型转换 三、C中新增的四种强制类型转换操作符以及它们的应用场景 1.static_cast 2.reinterpret_cast 3.const_cast 4.dynamic_cast 前言 在C语言中,如果赋值运算符左右两侧的类型不同,或者…

目录

前言

一、 C语言中的类型转换

二、为什么C++需要四种类型转换

 三、C++中新增的四种强制类型转换操作符以及它们的应用场景

1.static_cast

2.reinterpret_cast

3.const_cast

4.dynamic_cast


前言

在C语言中,如果赋值运算符左右两侧的类型不同,或者形参与实参类型不同,或者返回值类型与接收返回值类型不同,这几种情况都会发生类型转换。但是C语言的类型转换是由缺陷的,比如:转换的可视性比较差,转换书写的形式单一没有对类型之间的转换进行区别。基于以上原因,C++增添了四种强制类型转换操作符,目的是为了增加类型转换的可视化性。

首先我们先来看一下C语言中的类型转换。

一、 C语言中的类型转换

C语言中的类型转换有两种:隐式类型转换  显示类型转换。

void Test ()
{int i = 1;double d = i; // 隐式类型转换printf("%d, %f\n" , i, d);int* p = &i;int address = (int)p; // 显示强制类型转换printf("%x, %d\n" , p, address);//%x是指以十六进制
}

d3277e1ba0944b19a071e1a5c636d93c.png 

 缺陷:转换的可视性比较差,所有的转换形式都是以一种相同形式书写,难以跟踪错误的转换。

为什么C++需要四种类型转换

虽然C语言中的转换格式简单,但是存在缺点:
1. 隐式类型转化有些情况下可能会出问题:比如数据精度丢失 。
2. 显式类型转换将所有情况混合在一起,代码不够清晰 。
因此C++提出了自己的类型转化风格,注意 因为 C++ 要兼容 C 语言,所以 C++ 中还可以使用 C 语言的
转化风格。

 

 三、C++中新增的四种强制类型转换操作符以及它们的应用场景

C++ 为了加强类型转换的可视性,引入了四种命名的强制类型转换操作符:
static_cast         reinterpret_cast         const_cast         dynamic_cast

1.static_cast

static_cast用于非多态类型的转换(静态转换), 编译器隐式执行的任何类型转换 都可用 static_cast 但它不能用于两个不相关的类型进行转换(只可以对意义相近的类型转换)。
void Test()
{
double d = 9.8;
int i = static_cast<int>(d);
cout << i << endl;
}

2.reinterpret_cast

reinterpret_cast 用于意义不相似但是有关联的类型(比如int和int*  int和char)。
void Test()
{
int i = 9;
int* p = reinterpret_cast<int*>(i);
i = reinterpret_cast<int>(p);
cout << (void*)p << endl;
cout << i << endl;
}

 458624164981466e8f513427de5cdf61.png

3.const_cast

const_cast 最常用的用途就是删除变量的const属性,方便赋值
void Test()
{
const int i = 7;
int* p = const_cast<int*>(&i);
*p = 9;
cout << &i << endl;
cout << p << endl;
cout << i << endl;
cout << *p << endl;
}

11aa4ad791214e888ae861ee1abc6e66.png

上面运行结果i打印出来为什么仍然是7而不是9呢?这是因为:

const修饰的变量编译器通常对其进行优化,系统取变量i的值时其实是不在内存中读取的,而是在寄存器中读取,或者是系统直接取常量7的值而不通过内存来读取i的值。

如果要想让系统在内存中读取被const修饰的变量的值,在const前加上关键字volatile即可。加上关键字volatile后的运行结果如下:

94421c81cebf468abd111890e01ad7be.png

4.dynamic_cast

dynamic_cast 的功能如下:
向上转型:子类对象指针 / 引用 -> 父类对象指针 / 引用 ,子类对象->父类对象也可以( 不需要类型转换,赋值兼容规则 )
向下转型:父类对象指针 / 引用 -> 子类对象指针 / 引用,父类对象->子类对象不可以(用 dynamic_cast 转型是安全的 )
注意:
dynamic_cast 只能用于父类 含有虚函数的类
dynamic_cast 会先检查是否能转换成功,能成功则转换,不能则返回NULL
96da0ffd9d114f6d98b00befe8a575e9.png

 

 

 

http://www.ds6.com.cn/news/70047.html

相关文章:

  • 网站开发 实时更新谷歌浏览器官方app下载
  • 郑州%公司 网站建设搜索排名优化策划
  • 如何设计网站的首页sem和seo是什么意思
  • wordpress手机页面广州seo关键词优化费用
  • 农业开发公司企业网站建设百度一下官网首页
  • 还有哪些网站可以做淘宝活动吗长沙网站关键词排名推广公司
  • 想做网站怎么跟做网站的公司谈判湖南关键词优化排名推广
  • 吉林长春新冠疫情最新消息湖南企业竞价优化服务
  • 网站建设推介网络市场营销
  • 保定免费做网站阿里巴巴国际站
  • 锦屏县城乡和建设局网站seo方法
  • 网站建设背景谷歌浏览器安卓版
  • 金华做网站的公司在线一键生成网页
  • 做二手手机交易网站推广是做什么工作的
  • 固定ip如何做网站服务器个人主页网页设计
  • 网站建设费大概多少钱新闻营销发稿平台
  • 做网站如何网站考虑优化外贸网站模板
  • web网站开发源码下载seo搜索优化怎么做
  • wordpress 做wikii宁波seo快速优化课程
  • 泰安公司网站开发新品牌推广策划方案
  • 让人做网站需要准备什么条件企业网络营销
  • 怎么做qq刷赞网站seo关键词如何布局
  • 注册资金多少有什么区别汕头搜索引擎优化服务
  • 小学生简短小新闻十条东莞网站关键词优化排名
  • 制作旅游网站设计概述百度关键词搜索指数
  • 中国网站模板下载网站ip查询
  • 广州推广型网站建设品牌推广是做什么的
  • 企业微信官网厦门关键词排名seo
  • 推荐武汉网站建设南京seo关键词排名
  • 一流本科专业建设网站自助建站模板