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

西安网站建设那家好wordpress读者墙不显示

西安网站建设那家好,wordpress读者墙不显示,休闲农业有哪些网络营销方式,北京网站优化实战一、默认函数 C默认会实现一些函数#xff0c;其中类成员函数有#xff1a; 构造函数析构函数拷贝构造赋值函数()移动构造移动赋值 以及一些全局操作函数#xff1a; operator,operatoroperatoroperator*operator-operator-*operator newoperato…一、默认函数 C默认会实现一些函数其中类成员函数有 构造函数析构函数拷贝构造赋值函数()移动构造移动赋值 以及一些全局操作函数 operator,operatoroperatoroperator*operator-operator-*operator newoperator delete 二、default 显示缺省对于默认生成的函数而言并不是默认所有都会生成而是在需要时才会生成。而且当用户自己实现其中的某个函数时编译器就会移除相应的默认函数这样就会导致类变得不是POD了。 C11提供了default关键字用于默认函数定义之后表示要求编译器生成对应的默认函数从而确保类的POD。 class Empty { public:Empty() default;Empty(int i) {} };int main() {std::cout std::is_podEmpty::value std::endl; //1 } 除了在类内指定default外也可以在类外指定但是类外指定依旧不是pod类型,类外指定的好处是可以通过 class Empty { public:Empty() default;Empty(int i) {}Empty operator(Empty); }; inline Empty Empty::operator(Empty)default;int main() {std::cout std::is_podEmpty::value std::endl; //0 } 三、delete 与default对应的还有显示删除delete表示显示删除某个函数。最常见的例子就是单例中需要屏蔽拷贝、析构等函数以前的做法是通过私有化不定义但是还是可以被友元访问。 从C11开始可以直接在函数参数列表后添加delete删除此函数被删除的函数无法重载: fun() delete; 显示删除除了屏蔽函数之外还可以用于抑制隐式类型转换 class ConvType { public: ConvType(int i) {}; ConvType(char c) delete; // 删除char版本 }; void Func(ConvType ct) {} int main() {Func(3);Func(a); // 无法通过编译ConvType ci(3);ConvType cc(a); // 无法通过编译 } 而说到抑制隐式转换还有一种方式是explicit关键字当一个函数使用explicit和delete同时修饰时反而会出现一些问题 class ConvType {public:ConvType(int i) {};explicit ConvType(char c) delete; // 删除explicit的char构造函数};void Func(ConvType ct) {}int main() {Func(3);Func(a); // 可以通过编译ConvType ci(3);ConvType cc(a); // 无法通过编译} 这里对于explicit ConvType(char c)函数而言意味着拒绝从字符char隐式转换为ConvType类型因此 Func(a);按explicit的本意是无法通过编译的但是此处添加了delete之后反而移除了explicit的本意。 对比前面的ConvType(char c) delete;而言对于Func(a);则优先调用ConvType(char c)进行隐式类型转换但是由于此函数已经被删除所以无法构造函数。 因此通常不建议将explicit于delete关键字用于同一个函数上。 delete除了应用于类成员函数外还可以应用于普通函数 void Func(int i){};void Func(char c) delete; // 显式删除char版本int main(){Func(3);Func(c); // 本句无法通过编译return 1;}// 编译选项:g -stdc11 7-2-8.cpp除此之外还可以用于删除new函数使得类只能创建于栈而不能创建于堆上。 #include cstddefclass NoHeapAlloc{public:void * operator new(std::size_t) delete;};int main(){NoHeapAlloc nha;NoHeapAlloc * pnha new NoHeapAlloc; // 编译失败return 1;}// 编译选项:g -stdc11 7-2-9.cpp以及删除析构函数使得类只能创建于堆而不能创建于栈上。(此时该对象是不需要被释放的无法被释放)) #include cstddef#include newextern void* p;class NoStackAlloc{public:NoStackAlloc() delete;};int main(){NoStackAlloc nsa; // 无法通过编译new (p) NoStackAlloc(); // placement new, 假设p无需调用析构函数return 1;}// 编译选项:g 7-2-10.cpp -stdc11-c
http://wiki.neutronadmin.com/news/73615/

相关文章:

  • 长治网站制作哪家好所有免费的网站有哪些
  • 建设单位网站wordpress自动缩进
  • 济南商城网站建设代运营网站
  • 石家庄网站建设平台营销型网店与品牌型网店的区别
  • whois域名查询网站网站申请微信登录
  • 网站应用系统设计方案深圳百姓网
  • 如何制作产品网站正式做网站站点怎么新建
  • 免费企业网站程序上传沈阳品牌设计公司
  • 建设厅官方网站北京网站界面设计中的布局设计
  • 手机百度建设网站蛋糕磨具网站开发背景
  • 书店网站开发直通车关键词优化口诀
  • 手机高端设计网站建设恒峰网站建设问题
  • 网站php文件上传c2c模式的典型网站
  • 网站开发需求分析用的图wordpress手机客户端端
  • php网站开发具体的参考文献网络规划与优化技术
  • 网站制作西安企业网站制作网站添加wordpress
  • 淘宝网站短链接怎么做三角网站建设
  • 国内知名的wordpress网站电子商务网站功能页面
  • 如何通过psd做网站绵阳建设局网站皱劲松
  • 学做网站要学哪些做室内装修的网站
  • 哪个旅游网站做的最好wordpress 导航分类
  • 长子网站建设网站用户体验分析怎么做
  • 广告创意网站上海市网站制作
  • 微信手机官方网站银川市住房和城乡建设网站
  • 交互式网站设计 深圳苏州比较大的互联网公司
  • 在火炉做网站公园坐什么车wordpress怎么恢复自带主题
  • 上海网站建设哪家专业在线logo
  • 丹东做网站公司怎么做一个商城网站
  • 广告设计网站网站建设价钱
  • 做推广的的网站模板seo网站管理