摘要:
类中的成员函数分为静态成员函数和非静态成员函数,而非静态成员函数又分为普通函数和虚函数。Q:为什么使用虚函数A: 使用虚函数,我们可以获得良好的可扩展性。在一个设计比较好的面向对象程序中,大多数函数都是与基类的接口进行通信。因为使用基类接口时,调用基类接口的程序不需要改变就可以适应新类。如果用户想添... 阅读全文
摘要:
百度问的一些问题供参考:1. epoll 和 select,epoll 两种模式,阻塞非阻塞;2. 两个严格递增链表找出相同的元素组成新的链表; ref1 ref 3. 网络传输中如何传送一个结构体,实现一个通用的程序;4. accept 非阻塞模式;5. 两段话如何计算相似度6. stl 中 ... 阅读全文
摘要:
1. 引用和指针有什么区别?本质:一个是别名,一个是地址1. 指针可以在运行时改变其所指向的值,引用一旦和某个对象绑定就不再改变2. 引用没有const, 指针有const 3. 从内存上看,指针会分配内存区域,引用不会,它仅仅是一个别名4. 在参数传递时,引用会做类型检查,而指针不会5. 引用不能... 阅读全文
摘要:
1. 只能在堆上即禁止在栈上生成。如何实现?当对象建立在栈上面时,是由编译器分配内存空间的,调用构造函数来构造栈对象。如果类的析构函数是私有的,则编译器不会在栈空间上为类对象分配内存。所以,只需把类的析构函数声明为private即可禁止该类在栈上生成对象。但是别忘了提供一个public的函数用于析构... 阅读全文