- 博客(17)
- 收藏
- 关注
原创 类的拷贝构造函数也能重载
直接上代码,输出的结果是 0 1;#include using namespace std; class A{public:int x;A(){x=0;} A(A &a) //重载1 {x=a.x;} A(const A & a) //重载2{x=a.x+1;}};int main(){A a;A b=a;co
2012-12-28 16:19:57 330
原创 C++类的隐式类型转换成员函数
如自己写了一个类student,添加一个成员函数: operator bool () //这里跟一般的 操作符重载函数相比, operator 和返回值 的位置颠倒了过来{ //函数定义} 这样当student类的成员用在了应该是bool变量使用的地方,系统就会自动调用这个函数将本对象转换为bool变量。
2012-12-27 18:54:41 485
转载 placement new <2>
C++ placement new 用法举例zz2009-12-17 16:16在处理内存分配的时候,C++程序员会用new操作符(operator new)来分配内存,并用delete操作符(operator delete)来释放内存。这是一个new操作符的例子。class CTest{ /* 成员函数和成员数据 */};// . .
2012-12-27 18:45:40 403
转载 placement new <1>
1. placement new的含义placement new 是重载operator new 的一个标准、全局的版本,它不能够被自定义的版本代替(不像普通版本的operator new 和 operator delete能够被替换)。void *operator new( size_t, void *p ) throw() { return p; }placemen
2012-12-27 18:45:05 329
原创 C++重载规则
下午一直在纠结C++中什么样函数算重载什么样不算重载,经过仔细阅读C++primer相关章节以及自己写代码测试,现在总结如下:①、普通函数(非类成员函数)形参完全相同,返回值不同,如:void print();int print(); //不算重载,直接报错②、普通函数形参为非引用类型,非指针类型,形参一个带const,一个不带constvoid prin
2012-12-26 16:46:31 441
转载 sizeof 类 2
#includeusing namespace std;class C1{ int a;};class C1_none{};class C2{ int b;};class C3{};class C4{};class C5:virtual C3,virtual C4{};class C6:virtual C1,v
2012-12-26 15:01:05 321
转载 sizeof 类
1、空类的sizeof是1。空类是指没有成员的类,类中的函数不占空间,除非是虚函数。如: class A { public: A(){} ~A(){} void fun(){} };sizeo
2012-12-26 15:00:08 310
转载 Struct和Class的区别
转载来源:http://blog.sina.com.cn/s/blog_48f587a80100k630.htmlC++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!! 既然这些它都能实现,那它和class
2012-12-24 20:59:28 401
转载 C++默认构造函数——深入理解
ZZ地址 :http://blog.csdn.net/generalhking/article/details/7947989错误认识1:若程序员没有自己定义无参数的构造函数,那么编译器会自动生成默认构造函数,来进行对成员函数的初始化。错误认识2:编译器合成出来的default constructor会明确设定'“class内每一个data member的默认值”。但这两种种认识是有误的,
2012-12-24 19:22:53 2118
转载 C/C++的全局变量初始化与不初始化的区别
int x =0; 跟 int x; 的效果看起来是一样的。但其实这里面的差别很大,强烈建议大家所有的全局变量都要初始化,他们的主要差别如下:在C语言里,全局变量如果不初始化的话,默认为0,也就是说在全局空间里:编译器在编译的时候针对这两种情况会产生两种符号放在目标文件的符号表中,对于初始化的,叫强符号,未初始化的,叫弱符号。 连接器在连接目标文件的时候,如果遇到两个重名符号,会有以下处理规
2012-12-24 16:06:12 1197
转载 AVI编码方式及OpenCV读取AVI文件-解决opencv无法读AVI视频的问题
以AVI结尾的视频文件有以下几种: 1、非压缩格式的AVI文件(或是MPEG1格式的),这个不需要装任何插件就可以播放了。 2、DIVX格式的AVI,这也是MPEG4的一种,安装最新的DIVX 5.21(目前最新版),就可以播放了,不过缺点是在播放之初会有一个DIVX的标记显示几秒。下载地址: http://gupin.fangdown.com/soft/138.htm
2012-12-14 14:10:40 1188
转载 卡尔曼滤波器通俗解释 – Kalman Filter
很精妙的一篇关于卡尔曼滤波的文章。我无法找到原始出处,如果你知道就q我知吧。我看到的链接多半是源自cdsn,而csdn的引用者又把来源指向了。可惜我打不开vchelp算法论坛的网站。接下来转贴过来。1. 什么是卡尔曼滤波器(What is the Kalman Filter?)在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一...
2012-12-14 13:32:10 1331
转载 关于Unicode字符集
最初的unicode编码是固定长度的,16位,也就是2两个字节代表一个字符,这样一共可以表示65536个字符。显然,这样要表示各种语言中所有的字符是远远不够的。Unicode4.0规范考虑到了这种情况,定义了一组附加字符编码,附加字符编码采用2个16位来表示,这样最多可以定义1048576个附加字符,目前unicode4.0只定义了45960个附加字符。Unicode只是一个编码规范,目前
2012-12-14 11:29:09 1307 2
转载 迭代器失效小结 转linda
迭代器(iterator)是一个可以对其执行类似指针的操作(如:解除引用(operator*())和递增(operator++()))的对象,我们可以将它理解成为一个指针。但它又不是我们所谓普通的指针,我们可以称之为广义指针,你可以通过sizeof(vector::iterator)来查看,所占内存并不是4个字节。 首先对于vector而言,添加和删除操作可能使容器的部分或者全部迭代器失
2012-12-03 16:22:38 351
转载 有效使用STL迭代器的三条基本原则
STL迭代器的概念看上去似乎已经足够直观了,然而,你会很快发现容器类(Container)实际上提供了四种不同的迭代器类型:iterator、const_iterator、reverse_iterator和const_reverse_iterator。进而,你会注意到容器类的insert和erase方法仅接受这四种类型中的一种作为参数。问题来了:为什么需要四种不同的迭代器呢?它们之间存在何种联系?
2012-12-03 16:09:18 708
原创 自动调用类的构造函数生成临时类对象
#include #include using namespace std;class point;point operator + (point p1,point p2);ostream & operator class point{public: point(int a,int b=10) { x=a; y=b;
2012-12-03 12:31:52 690
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人