C++为什么构造函数中应该做的是初始化而不是赋值

技术C++为什么构造函数中应该做的是初始化而不是赋值本篇内容介绍了“C++为什么构造函数中应该做的是初始化而不是赋值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这

本文介绍了“为什么C构造函数要做初始化而不是赋值”的相关知识。很多人在实际案例操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

C.49:构造函数应该做的是初始化,而不是赋值。原因初始化清楚地表明,所做的是初始化,而不是赋值,可以更优雅、更高效地完成。防止“先用后赋值”的错误。

例如,好的A类{//好

字符串S1;

公众号:

一个(cz string p): S1 { p } { }//good :直接构造(C-string显式命名)

//.

};例,坏(反面例)B类{//BAD

字符串S1;

公众号:

b(const char * p){ S1=p;} //BAD:默认构造函数后跟赋值

//.

};

C类{ //丑八怪,又名非常坏

int * p;

公众号:

c(){ cout * p;p=新int { 10 };} //初始化前意外使用

//.

};示例,更好的(更好的示例)与那些常量字符相比,我们应该能够使用GSL GSL :3360 string _ span或STD 33603360 string _ view(由C 17引入)作为表达函数参数怒的更加普遍的方式。.

D类{ //好

字符串S1;

公众号:

一个(string _ view v): S1 { v } { }//good :直接构造

//.

};这里介绍一下“为什么C要在构造函数中做初始化而不是赋值”的内容。感谢阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/124821.html

(0)

相关推荐

  • BtcTool有什么用

    技术BtcTool有什么用小编给大家分享一下BtcTool有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!BtcTool是一个基于第三方

    攻略 2021年11月25日
  • Redis的底层数据结构-压缩列表

    技术Redis的底层数据结构-压缩列表 Redis的底层数据结构-压缩列表压缩列表(ziplist)是Redis为了节省内存而开发的,是由一系列特殊编码的连续内存块组成的顺序型数据结构,一个压缩列表可以

    礼包 2021年11月11日
  • Java流程控制图

    技术Java流程控制图 Java流程控制图package scanner;import java.util.Scanner;public class Demo01 {// 创建一个扫描对象,用于接

    礼包 2021年11月24日
  • 三明治的英语,三明治和汉堡的区别在哪里

    技术三明治的英语,三明治和汉堡的区别在哪里老铁三明治的英语,你分得清三角形和圆形吗?哈哈哈,在壹周君浅薄的认知中,三明治都是三角形的呢,而汉堡都是圆形,他们最大的共通点都是夹夹夹,裹挟着各种配料吃吃吃。 开个玩笑啦,严谨

    生活 2021年10月25日
  • 剪辑音频,有什么好用的音频编辑软件

    技术剪辑音频,有什么好用的音频编辑软件有一款很著名也存在很久的音频编辑软件,名叫“CoolEdit Pro”,到百度一搜就能搜到并下载,原软件是英文的,但是有汉化版剪辑音频。我自己一直用它来处理音频的问题,感觉基本上我需

    生活 2021年10月20日
  • 达梦数据库和oracle数据的区别有哪些

    技术达梦数据库和oracle数据的区别有哪些这篇文章主要讲解了“达梦数据库和oracle数据的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“达梦数据库和orac

    攻略 2021年10月28日