C++
uchiha_iTachi
这个作者很懒,什么都没留下…
展开
-
避免构造/析构函数调用虚函数(转)
http://hi.baidu.com/richiechyi/item/0f0fe3391443e389f5e4ad91构造函数跟析构函数里面都可以调用虚函数,编译器不会报错!但是由于类的构造次序是由基类到派生类,所以在构造函数中调用虚函数,这个虚函数不会呈现出多态相反,类的析构是从派生类到基类,当调用继承层次中某一层次的类的析构函数时往往意味着其派生类部分已经析构掉,所以也不转载 2013-08-06 14:58:46 · 637 阅读 · 0 评论 -
基类的析构函数为什么一般都是虚函数
先引用一段话为什么析构函数总是虚函数?如果这是必要的,那么为什么C++不把虚析构函数直接作为默认值?为什么纯虚析构函数可以通过编译,但是不能通过连接?回答:编译器总是根据类型来调用类成员函数。但是一个派生类的指针可以安全地转化为一个基类的指针。这样删除一个基类的指针的时候,C++不管这个指针指向一个基类对象还是一个派生类的对象,调用的都是基类的析构函数而不是派生类的。如果你依赖原创 2013-08-10 14:54:10 · 751 阅读 · 0 评论 -
头文件在编译过程中的作用
头文件并不参加链接和编译。编译器第一步要做的就是简单的把头文件在包含它的源文件中展开。不知你是否能理解这句话。也就是头文件里面有什么内容,通通把它移到包含这个头文件的源文件里。(我觉得这是个很重要的概念,可以帮助我们简化理解编译链接的过程,包括理解头文件中定义静态变量或静态函数是怎么回事)。编译器经过这一步转换后剩下什么呢?就是一堆cpp文件了。而头文件已经不再是编译器需要关心的东西了。编译器接下转载 2013-08-13 19:13:35 · 4246 阅读 · 0 评论 -
C++获取文件夹所有文件,并rename重命名
#include#include#include#includeusing namespace std;int main(){ string newname = "C:\\Users\\LYH\\Desktop\\rename\\rename\\test\\image_disciple_"; int num = 1099; _finddata_t file; long l原创 2013-08-15 00:44:58 · 6938 阅读 · 1 评论 -
const对象const成员函数
转自http://blog.csdn.net/candcplusplus/article/details/8918469 const对象 如果你想定义一个永远都不会改变的类对象,可以像下面这样定义一个const对象const CBox standard(10.0,10.0,10.0);standard对象的成员变量的值将永不会改变。编译器为了保证const对象转载 2013-09-11 12:40:40 · 686 阅读 · 0 评论 -
strcpy应该注意的问题
1.char* a = "test";中a中存的值不能改,如*a = 'a';就会报错,所以下面这么做会出错#includeint main(){ char *a = "k"; char b[5]= "test"; strcpy(a,b);//a中的值不可修改 std::cout<<b; system("pause");}2.strcpy不接受NULL指针,如#原创 2013-09-04 18:27:22 · 615 阅读 · 0 评论