
C++
tobebugkiller
这个作者很懒,什么都没留下…
展开
-
C++ 拷贝构造函数和赋值运算符
本文主要介绍了拷贝构造函数和赋值运算符的区别,以及在什么时候调用拷贝构造函数、什么情况下调用赋值运算符。最后,简单的分析了下深拷贝和浅拷贝的问题。拷贝构造函数和赋值运算符在默认情况下(用户没有定义,但是也没有显式的删除),编译器会自动的隐式生成一个拷贝构造函数和赋值运算符。但用户可以使用delete来指定不生成拷贝构造函数和赋值运算符,这样的对象就不能通过值传递,也不能进行赋值运算。...转载 2018-09-16 14:57:10 · 138 阅读 · 0 评论 -
学完C++基础后再学什么?
学完?那是什么程度?STL用得熟练吗?算法和数据结构掌握得怎么样呢?会写界面吗?BOOST呢?像楼上所说的换一种语言,简直是痴人说梦,如果不深入一门语言,夸张一点说,就好比你会用很多编程语言写“Hello,World!”一样,有什么用呢?C++的水很深的,基本上,在所有的编程语言中,C++可以说是最复杂的一种。我觉得C++深入了研究才有意思,如果急着写界面什么的,用VB或者C#最好,这两个...转载 2018-09-16 15:02:59 · 13864 阅读 · 0 评论 -
派生类与基类之间的转换关系及规则
继承关系的类之间发生的类型转换,有以下三个规则:从派生类向基类的转换只对指针和引用类型有效; 派生类对象与基类对象之间实际不存在类型转换,但是在用派生类给基类赋值或初始化时,实际调用的是派生类中的基类构造函数。 基类向派生类不存在类型转换;(包括类类型及其引用和指针) 和其他任何成员一样,派生类向基类的类型转换(包括类对象及其引用和指针)也有可能由于访问限制而变得不可行。(只有当派生类公...原创 2018-11-07 16:08:44 · 1101 阅读 · 0 评论 -
C++错误: HEAP CORRUPTION DETECTED
#include <iostream>using namespace std;int main(){ int *p = new int(5); int *q = new int[5]{1,2,3,4,5}; int a[5]={ 1,2,3 }; p[1] = 2; q[5] = 6; a[5] = 6; for (int i = 0;i <= 5;i++)...原创 2019-03-14 11:44:22 · 492 阅读 · 0 评论