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

如何自己做游戏网站网页界面设计艺术教程

如何自己做游戏网站,网页界面设计艺术教程,在哪里买空间做网站,网站网页转app源码理解c中explicit关键字的作用 explicit 关键字的作用是防止构造函数被隐式调用&#xff0c;从而避免意外的类型转换 #include <iostream> class Vec3 { public://构造函数没有被explicit修饰Vec3(float value): x(value), y(value), z(value){}Vec3(float val1, float …

理解c++中explicit关键字的作用

explicit 关键字的作用是防止构造函数被隐式调用,从而避免意外的类型转换

#include <iostream>
class Vec3 {
public://构造函数没有被explicit修饰Vec3(float value): x(value), y(value), z(value){}Vec3(float val1, float val2, float val3): x(val1), y(val2), z(val3){}void print() const {std::cout << "x: " << x << ", y: " << y << ", z: " << z << std::endl;}
private:float x, y, z;
};int main() {Vec3 v1(1.0f); //显式调用单值构造函数v1.print();Vec3 v2 = 1.0f;//由于vec3构造函数没有被explicit修饰,所以可以发生隐式调用,发生隐式转换,float转为vec3v2.print();Vec3 v2(1.0,2.0,3.0);//Vec3 v2 = (1.0, 2.0, 3.0);//这个是错误的v2.print();return 0;
}

如果构造函数没有被explicit修饰,则允许发生隐式调用,而隐式调用会发生隐式转换,即float转换为自定义vec3

Vec3 v2 = 1.0f; //隐式调用构造函数,有点像赋值操作,使得读代码的人有点迷惑,可以在单参数构造函数前添加explicit禁用这种调用构造函数的方式

explicit 只能用于修饰单参数构造函数,不能用于普通成员函数或静态函数

隐式转换可能带来以下不良影响
意外行为:隐式转换可能导致程序行为与预期不符,尤其是在类型不匹配或转换规则复杂时。
性能问题:隐式转换可能引入额外的开销,例如创建临时对象或调用额外的构造函数。
代码可读性降低:隐式转换可能使代码难以理解,开发者可能无法直观地看出转换发生的位置和原因。
类型安全性降低:隐式转换可能导致类型安全问题,例如将一个类型错误地转换为另一个类型,导致潜在的运行时错误。
调试困难:隐式转换可能隐藏问题的根源,增加调试的复杂性。

为了防止隐式转换带来的不良影响,我们还是对单参数构造函数使用explicit修饰,防止隐式调用单参数构造函数

#include <iostream>class Vec3 {
public:// 使用 explicit 防止隐式转换//构造函数explicit Vec3(float value) : x(value), y(value), z(value) {}void print() const {std::cout << "Vec3(" << x << ", " << y << ", " << z << ")" << std::endl;}private:float x, y, z;
};int main() {Vec3 v1(1.0f); // 正确:显式调用构造函数v1.print();// Vec3 v2 = 1.0f; //隐式调用构造函数,错误:explicit 禁止隐式转换// v2.print();return 0;
}
//禁用隐式调用单参数构造函数
Vec3 v2 = 1.0f //无法将浮点类型float转换为类Vec3
//只允许显式调用单参数构造函数
Vec3 v1(1.0f);

隐式调用单参数构造函数由于explicit修饰而被禁用


文章转载自:

http://k5CKYdws.rfhmb.cn
http://1JPqVoL7.rfhmb.cn
http://jv2xfxRJ.rfhmb.cn
http://g5gnrKB5.rfhmb.cn
http://dYh3zjJE.rfhmb.cn
http://D6arJSvY.rfhmb.cn
http://bGuYwUG7.rfhmb.cn
http://4QCnZXCK.rfhmb.cn
http://fdXPNvBt.rfhmb.cn
http://XSfdJ5QE.rfhmb.cn
http://HGGgyVhI.rfhmb.cn
http://ulfMN1gk.rfhmb.cn
http://A2jZC1sB.rfhmb.cn
http://6S2isP0Q.rfhmb.cn
http://tM6ivOa3.rfhmb.cn
http://pcqreA3u.rfhmb.cn
http://NWH4WE6s.rfhmb.cn
http://Da0rNcWt.rfhmb.cn
http://mkmQhigl.rfhmb.cn
http://p3dGWKmv.rfhmb.cn
http://n8mNXXXe.rfhmb.cn
http://PexgbPUb.rfhmb.cn
http://p11VCtnS.rfhmb.cn
http://965CpwgY.rfhmb.cn
http://KJjuAClf.rfhmb.cn
http://rIKBZBW2.rfhmb.cn
http://cm7zxYH7.rfhmb.cn
http://roz8DfKI.rfhmb.cn
http://TsAbOnxT.rfhmb.cn
http://HOLzQNO6.rfhmb.cn
http://www.dtcms.com/wzjs/715495.html

相关文章:

  • 网站后台功能中国制造网下载
  • 做快餐料包的网站有哪些手机可以开发软件吗
  • 贵州快速整站优化网站开发商外包
  • 都有哪些网站无锡网站设计多少钱
  • 医院网站建设套餐方案网站外链平台的建设方法平台类型(至少5个)?
  • 网站建站流程图typecho导入wordpress
  • 如何给自己网站做网站优化网络服务器搭建
  • wordpress能做appseo佛山
  • 企业网站建设知识应用技能土特产网站建设状况
  • 北京pk10网站建设wordpress4.6免费主题
  • 一般网站建设大概需要多少钱建设一个行业性的网站价格
  • 网站主页面设计php简单企业网站源码
  • 90设计手机站上海设计工作室排名
  • 工作室网站开发郑州做网站msgg
  • 苏州网站定制公司店铺营业执照在哪个网站做年审
  • 南昌免费网站建站模板广州市海珠区建设局五位一体网站
  • 网站策划报告书怎么做wordpress编辑器图片
  • 宁乡建设局网站做一个网站能卖多少钱
  • 汝阳县建设局网站织梦5.5模版安装上去为什么打开网站图片不能显示教程
  • 建设网站多钱p2p做网站
  • 手机企业网站源码wordpress 多站点主题
  • 网站建设价格差异好大中铁建设集团董事长
  • 建网站自学.net做网站c#
  • mooc网站开发流程图镇江网站建设制作方案
  • 旅游电子商务网站设计wordpress 添加文章格式
  • 网站建设与维护岗位职责美食网站首页模板
  • 北京网站seo策划网站建设好了怎么发布
  • 网站查询ip地址查询松江集团网站建设
  • 平乡网站建设重庆网站设计排名
  • 南昌那个公司做网站好做微网站用什么框架