c++
文章平均质量分 75
bdss58
这个作者很懒,什么都没留下…
展开
-
C++中引用符号“&”的作用总结
今天在写程序中用到了运算符重载,为了方便地输出vector容器中的元素,我重载了templatestd::ostream &operator &v){ for (const auto e:v) { /* code */ s<<e<<" "; } return s;}这个函数是我参照http://en.cppreference.com/w/cpp/containe原创 2014-09-18 19:53:37 · 8464 阅读 · 1 评论 -
深拷贝和浅拷贝
在c++中定义一个类时,默认会有一个拷贝构造函数和一个原创 2014-10-11 22:29:17 · 612 阅读 · 0 评论 -
栈和堆(the stack and the heap)
程序需要用到的内存可以分为四大类:代码qiu原创 2014-10-10 21:05:47 · 632 阅读 · 0 评论 -
c++中的虚函数
今天碰到三个问题,现在来浅显地解答一下,算是回顾一下c++。 问题1.什么是虚函数(virtual function)。 问题2.虚函数怎么实现。 问题3.使用虚函数有什么代价===========================================================================原创 2014-10-04 14:02:19 · 565 阅读 · 0 评论 -
编译链接错误undefined reference to
都说c/c++坑多,今儿我碰到了一个小问题,但是无奈shuop原创 2014-11-04 15:03:49 · 1823 阅读 · 0 评论 -
why c++ considered a bad language?为什么c++被认为是一门糟糕的语言?
As explained, no language is perfect. By no means C++ is a bad language. It's a very good language, with high performance ratings. But a lot of developers consider it a bad language. There are sever翻译 2014-10-16 20:57:03 · 2154 阅读 · 1 评论 -
AVL平衡二叉树(删除操作)
AVL树的删除操作同这篇文章http://blog.csdn.net/bdss58/article/details/41788243里的插入操作相似,具体实现步骤参考这篇文章。两个步骤:1)按照BST树的删除操作方法,删除AVL树中的摸个节点2)“再平衡”“再平衡”的详细介绍请看http://blog.csdn.net/bdss58/article/details/41788243原创 2014-12-10 17:07:34 · 806 阅读 · 0 评论 -
Red-Black Tree红黑树(插入操作)
插入操作可能会造成不平衡。为了使数平衡,AVL树需要rotate操作。那么红黑树怎么弄呢?红黑树需要:1)recoloring2) rotate下面举例说明假设x是新插入的节点。1)标准BST树出入,插入后新节点上色为红2)如果x不为root或者x的父节点不是黑的 a)如果x的叔节点为红: 1.变父节点和叔节点的颜色为黑 2.变原创 2014-12-12 16:00:24 · 786 阅读 · 0 评论 -
基类与接口类中的虚析构函数(virtual destructor)
一般情况下,在基类或者接口类中添加虚析构函(virtual destructor)数非常重要。原因很简单,就是想让析构的顺序从继承类开始往上开始一步步析构直到基类。看例子吧:首先,接口类不写虚析构函数// virtual d'tor// In base class or interface, it is important that add a virtual destructor原创 2015-04-03 18:35:49 · 1930 阅读 · 0 评论 -
赋值 vs 初始化(Assignment vs Initialization)
》》》》》原创 2014-10-30 11:20:33 · 1158 阅读 · 0 评论 -
二叉堆的c++模板类实现
我在http://blog.csdn.net/bdss58/article/details/40786355这篇博客中介绍了二叉堆的c语言实现。原创 2014-11-13 17:09:09 · 832 阅读 · 0 评论 -
Qt Creator 增加支持c++11特性
今天想写点c++小程序,刚开始编辑器我都不知道xuanshenme原创 2014-09-16 22:05:52 · 3049 阅读 · 0 评论 -
虚析构函数
什么是虚析构函数?虚析构函数确保继承类对象在析构的时候从继承类析构。经常用于子类对象被赋值给父类对象指针的情景。例1:下面例子说明没有虚析构函数是对象析构顺序。原创 2014-05-24 21:06:35 · 574 阅读 · 0 评论 -
拷贝构造函数
拷贝构造函数也是一种构造函数,它的作用是用已经建立的对象去初始化一个相同类型的对象。拷贝构造函数有三个用途:用另外一个相同的对象初始化一个对象拷贝一个对象传递给一个函数的参数拷贝一个对象用来做一个函数的返回值如果在一个类中没有定义拷贝构造函数,那么编译器会自动定义一个。如果类中有从堆中动态分配的指针变量,则类中必须定义拷贝构造函数。拷贝构造函数最常见的形式如下:原创 2014-05-21 22:23:41 · 576 阅读 · 0 评论 -
在构造函数的参数化列表中调用基类构造函数初始化继承来的成员变量
今天有人问道:在实例子类对象时,会先调用父类的构造函数,然后再调用子类的构造函数。可为什么在有些子类中构造函数的参数化列表中还要调用父类的构造函数?先看下面代码:class Base{public: int m_nValue; Base(int nValue=0) : m_nValue(nValue) { }};class原创 2014-10-21 18:03:26 · 6358 阅读 · 2 评论 -
c++无类型指针(void pointers)
The void pointer, also known as the generic pointer, is a special type of pointer that can be pointed at objects of any data type! A void pointer is declared like a normal pointer, using the void ke原创 2014-11-11 13:56:24 · 2015 阅读 · 0 评论 -
函数指针作为参数&回调函数
在c/c++中,允许把函数当做指针作为cansh原创 2014-10-25 16:36:06 · 1809 阅读 · 0 评论 -
输入输出运算符重载( Overloading the I/O operators)
当类中用很多成员变量,如果原创 2014-11-11 14:30:34 · 668 阅读 · 0 评论 -
给自己的函数添加异常报告(Add exception reporting c++)
为了便于调试代码,我们可以给函数添加异常baoga原创 2014-11-13 17:00:49 · 942 阅读 · 0 评论 -
工厂模式(c++描述)
工厂模式的定义我也说不清,请同学们自己百度一下吧。我在这里用c++描述一下工厂模式的实现。一个工厂通常包含一些接口类,而工厂就是“生产”这些接口类的具体对象的。工厂本身通常是一个单例模式的类。说的好像不明不白的。看例子吧。先不建立工厂,这会儿先写一个接口类:class IAnimal{public: virtual void speak() = 0; virtual原创 2015-04-04 22:01:36 · 496 阅读 · 0 评论