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

淮安市建设工程安全监督站网站青岛企业如何建网站

淮安市建设工程安全监督站网站,青岛企业如何建网站,收废品做网站怎么做,可以建网站的软件1. 函数默认实参 默认实参需要注意以下几点#xff1a; #xff08;1#xff09;函数默认实参的赋值应从右往左#xff0c;否则编译报错#xff0c;因为参数入栈应该从右往左。 void f(int, int, int 1); void f(int, int 2, int); void f(int 3, int, int);#x…1. 函数默认实参 默认实参需要注意以下几点 1函数默认实参的赋值应从右往左否则编译报错因为参数入栈应该从右往左。 void f(int, int, int 1); void f(int, int 2, int); void f(int 3, int, int);2类外的默认实参会使类的非默认构造函数变成默认构造函数。 class A { public:A(int a);void Print(){std::cout i std::endl;}int i; }; // 类外初始化默认实参 A::A(int a 100) : i(a) {}/** 在类外初始化非默认构造函数将其变为默认构造函数 */ A a A(); a.Print(); // 输出1003如果在类中添加了该函数的该参数的默认实参那么在类外再次定义该参数的默认实参会发生重定义错误。 4虚函数的默认实参将根据对象的静态类型编译时直接指定不会更改的类型确定。 struct F {virtual ~F(){// 父类} };struct C : F {// 子类 };/** * 对于p来说静态类型就是F * 对于p来说动态类型就是C * 所以如果父类和子类都有默认实参的话会使用F中的默认实参函数 */ F* p new C();2. 默认初始化 默认初始化没什么难的需要注意的是默认初始化是C11新添加的主要看一下位域初始化。 struct B {// int的低8位被初始化为12int x : 8 12;// int的低8位被初始化为17int y : 4 { 17 }; };在使用位域初始化的时候一定要注意后面使用的运算符与:的优先级问题。 3 initializer_list 3.1 初始化列表的本质 #include initializer_list std::initializer_listtemplate class _Elem class initializer_list { public:using value_type _Elem;using reference const _Elem;using const_reference const _Elem;using size_type size_t;using iterator const _Elem*;using const_iterator const _Elem*;constexpr initializer_list() noexcept : _First(nullptr), _Last(nullptr) {}constexpr initializer_list(const _Elem* _First_arg, const _Elem* _Last_arg) noexcept: _First(_First_arg), _Last(_Last_arg) {}_NODISCARD constexpr const _Elem* begin() const noexcept {return _First;}_NODISCARD constexpr const _Elem* end() const noexcept {return _Last;}_NODISCARD constexpr size_t size() const noexcept {return static_castsize_t(_Last - _First);}private:const _Elem* _First;const _Elem* _Last; };可以看出initializer_list就是一个有begin和end的一片内存空间。 int x[] { 1, 2, 3, 4, 5 }; std::vectorint v{1, 2, 3, 4, 5};相当于使用initializer_list{1, 2, 3, 4, 5}就是先构造了一个array{ 1, 2, 3, 4, 5 }再把首地址和尾地址赋给begin和end。 class A { public:/** 使用初始化列表构造并遍历 */A(std::initializer_listint list){for (const int* item list.begin(); item ! list.end(); item){std::cout *item std::endl;}} };初始化优先级 /** 调用构造5个元素每个元素都是5 */ std::vectorint x1(5, 5); /** 调用构造2个元素5和5 */ std::vectorint x2{5, 5};3.2 隐式缩窄转换 隐式缩窄转换规则 1高位向低位转换如double向floatfloat向int。 2从整数类型向超过其最大值的类型转换如int a 999向char转换。 3.3 指定初始化 为了增加灵活性C20增加了指定初始化。 struct Point3D {int x;int y;int z; }; // 初始化列表构造x0y0z3 Point3D{.z 3};虽然增加了指定初始化但有很多的限定 1Point3D如果有了构造函数则初始化列表会按照构造函数进行指定的成员变量很有可能失败。 2指定初始化的顺序要按照定义顺序进行。 3联合体一次只能指定一个指定初始化不能嵌套指定初始化不能和普通的混用。
http://www.hkea.cn/news/14279151/

相关文章:

  • 租用了空间 怎样上传网站程序美工背景图素材
  • 如何制作自己的作品集网站百度知道首页网
  • 海外推广的网站有哪些昆山科技网站建设
  • 怎么编辑网站源代码类似于淘宝的网站建设方案
  • 做互联网平台要多少钱重庆网站seo技术
  • 单页网站开发舟山seo网络优化招聘
  • 垦利网站定制阿里云怎么申请域名
  • 开源网站推广成都宅天下装饰公司口碑
  • 网站开发专业前景江苏泰州海陵区建设局网站
  • 论坛网站开发教程php之wordpress
  • 做网站 工商 非法经营wordpress刷新错位
  • 如何保护我做的网站模板安徽建设局网站
  • 网站开发编写籍贯代码网络营销专业属于什么类别
  • 湛江网站如何制作做网站的图片的内存
  • 农产品网站如何做地推长沙点梦网站建设
  • 火星免费建网站昆山市建设监察大队官方网站
  • 免费搭建微信网站app开发定制公司哪家好
  • 某个网站做拍卖预展的好处双浩建设网站
  • 论坛网站模板拉新接单网
  • 电商平台网站制作费用深圳网络推广哪家好
  • 网站头部导航兰州建设网站的网站
  • 天津做网站推广的公司重庆seo排名扣费
  • 长沙网站 建设推广世云网络在线推广是网站推广的首要工具
  • 遵化市城乡建设规划局网站怎样用电脑和网訨自己做网站
  • 网站系统方案设计广州专业的网站建设公司哪家好
  • 电子商务网站功能介绍wordpress seo插件哪个好
  • 徐汇制作网站哪家好如何用ps做网站
  • 外贸网站平台都有哪些织梦做商城类网站好做吗
  • 知名营销网站最大的网站
  • 网站的架设小程序定制开发合同