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

最精品网站建设俄罗斯搜索引擎浏览器官网入口

最精品网站建设,俄罗斯搜索引擎浏览器官网入口,济南建网站公司价格,大淘客网站商品做淘口令系列文章目录 C11新特性使用详解-持续更新 文章目录 系列文章目录一、default关键字1. 为什么要引入default关键字2. 注意事项3. 使用default关键字有什么好处4.实例代码 二、delete关键字1. 为什么要引入delete关键字2. 注意事项3. 使用场景3.1删除默认构造函数3.2 删除拷贝构…系列文章目录 C11新特性使用详解-持续更新 文章目录 系列文章目录一、default关键字1. 为什么要引入default关键字2. 注意事项3. 使用default关键字有什么好处4.实例代码 二、delete关键字1. 为什么要引入delete关键字2. 注意事项3. 使用场景3.1删除默认构造函数3.2 删除拷贝构造函数和拷贝赋值运算符3.3 删除重载操作符3.4 为什么不直接删除函数用 一、default关键字 default关键字是C11标准中引入的一个新特性它用于告诉编译器生成默认的函数实现。 1. 为什么要引入default关键字 在C11之前我们通常需要手动实现所有的函数包括构造函数、拷贝构造函数、拷贝赋值运算符等等。但是有时候我们并不想为每个函数都编写实现这时候就可以使用default关键字来生成默认的实现。 2. 注意事项 只能对具有合成版本的成员函数使用default即默认构造函数或拷贝控制成员如果我们已经为某个函数提供了实现那么就不能再使用default关键字了。这样做会导致编译错误。类内用default修饰成员的声明时合成的函数将隐式地声明为内联如果不希望隐式内联应该只对成员的类外定义使用default当构造函数需要申请内存资源时我们通常需要手动编写构造函数的定义并在其中使用适当的内存分配函数如new来申请内存。这样可以确保在对象创建时分配所需的内存并在析构函数中释放这些内存。 3. 使用default关键字有什么好处 它可以帮助我们减少代码量提高代码的可读性和可维护性。 但是需要注意的是只有在必要的情况下才应该使用default关键字否则可能会影响程序的性能和可读性。 4.实例代码 class MyClass { public:MyClass() default; //默认构造函数MyClass(const MyClass) default; //默认构拷贝造函数MyClass operator (const MyClass) default; //默认拷贝赋值运算符MyClass(int i) { a i; }; private:int a;std::string s;char* p; };int main() {//defaultMyClass a1;MyClass a2 a1;MyClass a3;a3 a1;std::cout Hello World!\n; }二、delete关键字 1. 为什么要引入delete关键字 虽然大多数类应该定义拷贝构造函数和拷贝赋值运算符无论是隐式的还是显式的。但某些类这些操作没有意义这种情况下必须采用某种机制阻止拷贝或赋值。 delete是C11引入的一个新的关键字它用于显式地删除一个已经定义的函数或操作符来阻止拷贝。 这个关键字告诉编译器我们不希望这个函数或操作符被调用即使在代码中出现了这样的调用也会导致编译错误。 比如iostream类阻止了拷贝以避免多个对象写入或读取相同的IO缓存。 还有unique_ptrye阻止了拷贝防止多个指针指向同一对象破坏独占性。 2. 注意事项 不能删除析构函数如果析构函数被删除就无法销毁此类型的临时对象。 某一个成员的析构函数是删除的则该成员无法销毁因而整个对象也无法被销毁 3. 使用场景 3.1删除默认构造函数 默认构造函数是没有参数的构造函数它会在没有提供其他构造函数的情况下自动生成。但是如果我们不希望这个默认构造函数被调用可以使用delete关键字来删除它。 class MyClass { public:MyClass() delete; // 删除默认构造函数 };3.2 删除拷贝构造函数和拷贝赋值运算符 拷贝构造函数和拷贝赋值运算符用于创建一个新对象并将其初始化为另一个同类型对象的副本。但是如果我们不想让对象被复制可以使用delete关键字来删除这两个操作符。 class MyClass { public:MyClass(const MyClass) delete; // 删除拷贝构造函数MyClass operator(const MyClass) delete; // 删除拷贝赋值运算符 };3.3 删除重载操作符 我们可以在自定义类型上重载操作符以便使用它们时就像使用内置类型一样。但是如果我们不想让某个操作符被重载可以使用delete关键字来删除它。 class MyClass { public:void operator()(int x) delete // 删除重载了括号运算符 };3.4 为什么不直接删除函数用 直接删除函数和用delete关键字删除函数的效果是一样的都是从代码中移除了函数定义。但是使用delete关键字相比直接删除函数能更清晰、更明确地表达我们的意图提高代码的可读性和可维护性。 明确地告诉了编译器和其他的开发者这个函数是不应该被调用的。这样如果在代码中出现了对这个函数的调用编译器就会报错避免了潜在的错误和bug。 帮助开发者更好地理解和阅读代码。通过查看函数前面的delete关键字我们可以快速地判断出这个函数是否应该被调用而不必去深入阅读函数的实现细节。
http://www.tj-hxxt.cn/news/226471.html

相关文章:

  • 营销型企业网站功能苏州调查公司招聘信息
  • 为什么说做网站赚钱wordpress用户信息
  • 建立网站预算北京手机网站制作
  • 视频网站开发需要什么语言小程序怎么做微网站链接
  • 南山优化网站建设案例分公司注册流程网上注册
  • 网站上线需要哪些步骤开发板和单片机的区别
  • 省财政厅门户网站三基建设公司有网站域名后如何建网站
  • 公司已经有域名 怎么建网站四川省住房和城乡建设厅官网证件查询
  • 哪些建材网站可以做宣传怎么给网站做seo优化
  • 门户网站属于数字媒体吗学做企业网站
  • 网站建设的摘要wordpress 禁用评论
  • 超星网站开发实战答案凌云网招聘信息
  • 搭建好网站如何使用h5案例分享平台
  • 大型网站 解决方案 技术怎么做打码网站
  • 关于化妆品网站成功案例网站木马 代码
  • 网站上点击图片局部放大如何做营销是做什么
  • 企业网站怎么推广网站添加cms
  • 违反建设投诉网站举报中英文网站怎么做的
  • 重庆网站建设 狐灵科技杭州网站改版公司
  • 北京网站制作公司哪家好开发手机网站制作
  • 深圳网站制作公司网站的安全检查怎么做
  • 福州网站设计软件公司医院 网站后台管理
  • 网站集约化建设情况汇报如何让百度抓取网站
  • 网站运营主体wordpress网站放icp
  • 国内网站赏析建筑工程防护网
  • 申请域名后如何发布网站山东广饶建设银行网站
  • 辽宁建设官方网站汕头人才网
  • 四川建设网网站软件开发培训学校驾校宝典
  • php在线做网站永久免费网站系统
  • 苏网站建设网站显示速度的代码是什么意思