
C++ FAQ
sharpdew
这个作者很懒,什么都没留下…
展开
-
如何使用fstream类在读写操作之间任意转化?
#include#include#include#includeusing namespace std;int main(){ fstream io("test.txt",ios::in|ios::out|ios::trunc); io //cout io.seekp(0, ios_base::beg); // //cout string str1; io >> str1; io原创 2006-04-16 22:46:00 · 2275 阅读 · 0 评论 -
如何使用迭代器iterator循环删除容器中的元素?
STL中的容器主要分两类,一是顺序存储的,如vector;一是以红黑树形式存储的,如map。下面分别以vector和map为例,说明怎样利用迭代器在遍历的同时删除容器内元素。下面示例程序首先往容器中添加一定元素,然后循环删除其中连续或不连续的元素。程序在VS2003以及g++3.4下调试,不同编译器下可能结果不同。// vector sample for Windows and Linuxin原创 2006-04-19 14:45:00 · 6511 阅读 · 2 评论 -
C++ virtual member function FAQ
【1】 虚成员函数和非虚成员函数调用方式有什么不同? 非虚成员函数是静态确定的。也就是说,该成员函数(在编译时)被静态地选择,该选择基于指向对象的指针(或引用)的类型。 相比而言,虚成员函数是动态确定的(在运行时)。也就是说,成员函数(在运行时)被动态地选择,该选择基于对象的类型,而不是指向该对象的指针/引用的类型。这被称作“动态绑定/动态联编”。大多数的编译器使用以下的一些的技术,也就是原创 2006-05-10 15:46:00 · 3531 阅读 · 0 评论 -
怎样将成员函数指针强制转换成void*指针?
采用取成员函数指针的地址的方法,先把指向成员函数指针的指针强制转化为别的类型,如unsigned*,当然同样可以通过此转化后的指针经过相反的变换来调用成员函数。于是乎要转化为void*的问题也随之可解,如下示例:/* VS2003下编译运行 */class AbstractMethod{public: virtual void show(){} // = 0; // 可以是纯虚函数,这原创 2006-05-23 16:48:00 · 5130 阅读 · 2 评论