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

网站怎么做内链外链免费防红短链接生成

网站怎么做内链外链,免费防红短链接生成,数据系统网站建设必要性,连云港公司网站制作数组隐式转换为指针 size_t func(int a[10]) {return sizeof(a); }int a[100]; func(a); // 指针大小 sizeof(a); // 数组大小函数的参数看似是一个数组形式,但事实上他已经退化为指针了,也就是等价于size_t func(int* a),而数组作为参数传…

数组隐式转换为指针

size_t func(int a[10]) {return sizeof(a);
}int a[100];
func(a);   // 指针大小
sizeof(a); // 数组大小

函数的参数看似是一个数组形式,但事实上他已经退化为指针了,也就是等价于size_t func(int* a),而数组作为参数传递给该函数时,也会隐式转化为指针。

因此,上述函数的返回值是指针大小,而不是数组大小,多么反直觉呀(初出茅庐的我曾因此而犯错)。

类型不是从左向右说明

int a;
int b[10];

a的类型是int,而b的类型是int[10]。到目前为止,我们还是能轻松的辨别变量的类型,不许骄傲,再看看下面的定义:

int *a[10];
int (*b)[10];

此时,是不是有点困惑,它们该是什么类型呢?

首先,a的类型是数组,长度为10,元素类型是int*;b的类型是指针,指向int[10]的数组。

你会发现它们的类型一会儿从右向左,一会儿从内向外。反正就是非常的不直观,我每次都能记住,但时间一长也就忘了,希望这次能记得久点。

类型的隐式转换

这应该算是最令人头疼的问题之一了,如下的代码也许大家都遇到过:

if (val = 2) {// 我能日赚斗金的逻辑
} else {// 我怎么实现一夜暴富
}

想必大家很容易就看到了val = 2这行神奇的代码了,那么它的神奇之处在哪呢?

首先,我们知道C++的赋值操作会返回该对象本身,所以这行神奇代码的返回值就是val,那么问题就显而易见了,val会隐式转换为bool类型,因为值是2,所以永真,那么也就意味着,我不能实现一夜暴富了,只能老老实实日赚斗金了(其实也不错,嘿嘿)。这就是赋值操作带返回值以及隐式类型转换带来的问题。

这种错误我偶尔也会触犯,一时难以发现,最后发现了也只会令我更加痛苦(为啥会写出如此愚蠢的bug),没有一点成就感。

对地址的直接操作

C++的指针在使用上是何其的自由哇,有了指针,我觉得我就是造物主了,我能随意操纵一切(苦笑)。实际上呢?自由操作指针也同样带来了巨大的风险,请看下面代码:

int* a = new int[10];
int* p = a;
// 一堆莫名其妙的逻辑
int b = *(p + 10);

这种错误一看就明白,但是工作中一写代码保不齐哪里就写越界了,然后代码运行前我们还察觉不到,你说气人不气人。所以还是要尽量避免直接操作裸指针,更应该避免通过指针偏移来操作指针。

后置的自增自减

后置的自增和自减操作,虽然从直觉上来看,和前置的没啥区别,都是让自身的值+1/-1,然而实际的内部实现上却有着些许差异,但就是这种差异却也会带来性能上的损耗。

MyObject a;
a++;  // 返回a自加前的副本
++a;  // 返回a本身

我的对象是咋样的就不在此展示了,直接说结论,后置的自增/自减,会返回一个自增/自减之前的副本,所以会存在一次额外的构造和析构操作。而前置的自增/自减则是返回该对象本身,所以没有额外开销。因此,有时候不经意间写了后置的自增/自减,就有可能导致软件的性能降低。

总结

很明显,我对C++的思考仅限于C++语言本身,至于其他语言我很少涉及,因此,不能够通过与其他语言的对比中,发现C++更多的不足。因为不知道别人有多好,所以我总以为C++给予我的就是它最好的,但事实上它也有很多缺陷。当然,一切相遇都是最好的安排,既然选择了C++,那它就是最好的,不忘初心(学好C++),方得始终。

http://www.yayakq.cn/news/288854/

相关文章:

  • 抚远网站建设网站建设与推广方案
  • wordpress评论邮箱通知功能廊坊关键词seo排名方案
  • 北京网站建设策划建设中国建设局网站首页
  • 东莞网站建设有什么网络公司汕头建设吧 百度贴吧
  • 做网站用什么系统较好wordpress主题更新了
  • 建设行业信息和技术应用服务网站案列网站
  • 济南免费网站建设网址查询备案信息
  • 网站前台后台模板成都海鸥手表网站
  • 免费网站建站模块网站开发视频教学
  • 云南公司网站制作推广文案类型有哪些
  • 培训网站图片盐城网站开发招代理
  • 网站优化的作业及意义12306网站是哪个公司做的
  • 网站建设知识及维护技巧中山有网站建设公司吗
  • 云软件网站建设给个网站你们会感谢我的
  • 建设银官方网站布吉网站建设哪家技术好
  • 做视频网站需要什么条件模板搭建网站
  • 网站做的好不好数据牡丹江网络推广公司
  • 杭州做网站怎么收费跨境电商网站
  • 荆州网站建设荆州怎么建一个公司运营网站
  • 一家专门做印刷的网站做电子商务网站建设工资多少
  • 购物网站建设哪家好jsp网站开发实例视频
  • 关闭站长工具seo综合查询公司企业做网站好做吗
  • 浏览器怎样屏蔽网站微信自带小程序商城
  • 上海袜网站建设百度游戏中心官网
  • 东莞网站设计哪家强工作邮箱怎么注册
  • 网站设计制作公司推荐网站游戏制作开发
  • 建站购物网站设计网站栏目
  • 在线爱情动做网站微信开放平台登录
  • 提交图片的网站要怎么做建设百度网站多少钱
  • 电子商城网站设计公司哪个好直播软件开发源码