06 2013 档案

摘要:1.为什么使用友元?在实现类之间数据共享时,减少系统开销,提高运行效率。或者说允许外面的类或函数访问类的私有变量或保护变量。2.使用友元的场合(1) 操作符重载的场合; (2) 两个类共享数据的场合;3.友元的分类(1)在类外的普通函数可以定义为类的友元函数。在调用时直接调用。可以在类内或类外定义。不需要加类的作用域。(2)另一个类的成员函数作为该类的友元函数。(3)类B作为类A的友元类。 注: 友元函数不是成员函数。在类中声明可为public或private。一般为private. 友元类B的所有的成员函数均是类A的友元函数。详解:http://www.cnblogs.com/BeyondA 阅读全文
posted @ 2013-06-28 21:24 成长的点点滴滴 阅读(162) 评论(0) 推荐(0)
摘要:一、类中的const成员有两种初始化方式:1.与static一同使用,在类外或类中进行初始化。2.使用类的初始化列表进行初始化。二、const 类的对象或者引用只能调用const成员函数,否则会编译错误。 const成员函数中只能使用const成员或调用const函数。三、类中的const成员函数如果想改变非常量成员的话,有两种方式:1.使用mutable关键字class A{private:mutable int r;public:void f()const;};void A::f()const{r++;}2.使用const_cast<type_id>(expression)cl 阅读全文
posted @ 2013-06-19 15:27 成长的点点滴滴 阅读(159) 评论(0) 推荐(0)
摘要:内存泄漏是指由于疏忽或错误使得应用程序未能释放不在使用的内存。内存泄漏并非物理上内存的消失,而是应用程序在分配内存后,由于设计错误,导致该段内存在被释放之前失去了对它的控制,从而导致内存浪费。我们常说的内存泄漏是指堆的内存泄漏。使用malloc,realloc,new在堆上申请内存空间,在使用完毕后必须使用free或delete释放掉,如果没有手动释放,我们就说这块内存泄漏了。 阅读全文
posted @ 2013-06-08 22:31 成长的点点滴滴 阅读(121) 评论(0) 推荐(0)
摘要:在C++中的区别:1.默认成员的保护级别:struct默认是public ,class 默认是private2.默认派生类的保护级别:struct默认是public, class默认是private在C#中的区别:默认成员的保护级别都是private, struct 是值类型,该类型的对象实在栈上分配内存;class是引用类型,该类型的对象是在堆上分配内存。C#与C++的区别:1.struct与class的区别;2.在C#中有Finalize 或Dispose 方法用来释放申请的资源。Finalize方法虽然写法与C++中的析构函数相同,都是~加类型名,但是调用时机不同。Finalize是CL 阅读全文
posted @ 2013-06-08 14:42 成长的点点滴滴 阅读(268) 评论(0) 推荐(0)
摘要:1.static成员函数不能是虚函数 虚函数存在于有继承关系的类的对象中,在派生类中覆盖了基类的虚函数,实现了动态绑定。通过基类的指针或引用调用派生类版本。static成员函数在继承关系中只存在一份。是属于类的,而不受限于某个对象,不存在this指针。在派生类中的继承的static函数和基类是一个函数。因此~。2.inline成员函数不能是虚函数函数的inline属性是在编译时静态确定的,而virtual则是在运行时确定的。肯定不能同时存在。inline函数建议编译程序在调用该函数的地方将函数代码展开来插入到caller的代码中,这个只是一种指示,至于会不会被内敛,编译程序要看该函数是否存在多 阅读全文
posted @ 2013-06-03 21:35 成长的点点滴滴 阅读(236) 评论(0) 推荐(0)
摘要:1. 初始化一个引用变量必须在定义的时候。而所有的运算符操作都被视为赋值而不是初始化,所以引用参数的初始化必须在初始化列表中进行。class Test{ public: Test(int val) : ref_(val){} ~Test() {} private: int & ref_;}; int main(){ Test t(1); return 0; } 也许你不会碰见任何问题,但这里我们会发现val是一个形式参数,但构造函数执行完后它会自动释放,所以更好的方式是: class Test{ public: Test(int &val) : ref_(val){} ~... 阅读全文
posted @ 2013-06-03 14:30 成长的点点滴滴

点击右上角即可分享
微信分享提示