![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 67
小癞子
这个作者很懒,什么都没留下…
展开
-
初识c++
1.首先是一张巨大的思维导图:2.指针和引用的比较:共同点:引用在底层上实际是有空间的,因为引用是按照指针方式来实现的不同点:引用在定义时必须初始化,指针不需要 引用只能引用一个实体,而指针可以指向任何一个同类型实体 没有NULL引用,但是有NULL指针 引用自加是给引用的实体加1,指针自加是指针向后偏移一个类型的大小 在sizeof中,引用的结果是引用类型的大小,而指...原创 2018-08-08 23:31:39 · 281 阅读 · 0 评论 -
String类
浅拷贝:也就是值拷贝,将一个对象的值新开辟空间,赋给另一个对象,并没有新开辟空间,而是两个对象共用同一块空间,所以当调用析构函数来释放其中一个对象的资源时,另一个对象并不知道,当它再去调用析构函数销毁资源时,就会出错。深拷贝:为每个对象分配独立的资源,各自调用各自的析构函数来释放资源,就不会造成因共享资源在多次释放时造成的程序崩溃问题以实现String类为例:class String...原创 2018-08-31 11:48:08 · 230 阅读 · 0 评论 -
重载,重写与同名隐藏的区别
函数重载主要是针对同一个作用域中的同名函数,形参列表(参数个数,参数类型,参数顺序任意一个)必须不同同名隐藏:基类和派生类中具有相同名称的成员(成员变量||成员函数),与相同名称的成员的类型无关,通过派生类对象调用成员函数时,调用派生类自己的,基类中相同名称的成员函数被隐藏。如果一定要通过派生类对象调用基类中相同名称的成员时,需在调用前加上基类的作用域符重写与同名隐藏的区别:重写和...原创 2018-08-29 00:02:50 · 351 阅读 · 0 评论 -
malloc,free与new/delete的区别
面试题1:c库中有malloc/free来动态管理内存,c++中为什么还要new/delete操作符来管理内存? 对于非内部数据类型的对象而言,光用malloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于mal...原创 2018-08-25 00:19:50 · 253 阅读 · 0 评论 -
c++类型转换
c++中的四种类型转换:static_cast,reinterpret_cast,const_cast,dynamic_cast四种类型转化的区别:static_cast:相当于C中的隐式类型转换,用于非多态类型的转换(静态转换)例:int main(){ double d=12.34; int a; a=static_cast<int>(d...原创 2018-09-04 23:24:59 · 169 阅读 · 0 评论