c/c++
hyf159159
这个作者很懒,什么都没留下…
展开
-
c++中explicit的作用
C++中的 explicit关键字主要是用来修饰类的构造函数,表明该构造函数是显式的,禁止单参数构造函数的隐式转换。所谓隐式转换,即,将构造函数一个值(其类型为构造函数对应的数据类型)转换为一个类对象。如果C++类的构造函数只有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,通过下面的程序能很好地理解:class MyClass{public:MyClass(int num);}MyClass obj = 10; //ok,转载 2021-10-05 09:18:38 · 294 阅读 · 0 评论 -
C++中的delete和delete[ ]的区别
关于动态申请的内存,分两种情况:基本数据类型的分配和自定义数据类型的分配。两者不同。1、基本数据类型对于基本数据类型,假如有如下代码int *a = new int[10];...delete a; // 方式1delete [ ] a; //方式2肯定会不少人认为方式1存在内存泄露,然而事实上是不会!针对简单的基本数据类型,方式1和方式2均可正常工作,因为:基本的数据类型对象没有析构函数,并且new 在分配内存时会记录分配的空间大小,则delete时能正确释放内存,...原创 2021-09-05 11:07:07 · 142 阅读 · 0 评论