C++中的虚析构函数到底什么时候有用的,什么作用呢。总的来说虚析构函数是为了避免内存泄露,而且是当子类中会有指针成员变量时才会使用得到的。也就说虚析构函数使得在删除指向子类对象的基类指针时可以调用子类的析构函数达到释放子类中堆内存的目的,而防止内存泄露的。两段代码:#include using na...
分类:
编程语言 时间:
2014-07-29 12:23:26
阅读次数:
289
枚举:1、不能定义自己的方法2、它们不能实现接口3、不能定义属性和索引器4、枚举成员之间用“,”隔开5、枚举成员如果没有赋值,那么它的第一个值默认为06、后面的成员取值是前一个成员取值+17、枚举成员只能赋值为整型类与结构:1、类和结构都是创建对象的模版2、结构是值类型,类是引用类型,结构不能有析构...
分类:
其他好文 时间:
2014-07-27 22:58:49
阅读次数:
250
我项目中用到了字符串的Base64转码、DES解密等功能,可能DES解密算法只能解密8字节倍数长度的字符串,所以我得到的结果总会存在一个多余的“尾巴”,于是我想要做一个字符串尾部清理的工作。我的做法是:从字符数组末尾往前找,如果当前字符是合法的结尾字符,比如说xml里的'>'和json里的'}'.....
分类:
编程语言 时间:
2014-07-27 21:31:55
阅读次数:
384
情景:程序加载dll,dll中的函数调用另一个dll中的导出函数.stringgetName(){stringname="";regmatch(text,&name);returnname;}do{stringm_name=getName();}while(0);当m_name析构的时候,发生异常分析其中的原因,应该是name的内存不够,为了保存name的结果,在regmatch函..
分类:
其他好文 时间:
2014-07-27 14:20:56
阅读次数:
218
情景:程序加载dll,dll中的函数调用另一个dll中的导出函数.stringgetName(){stringname="";regmatch(text,&name);returnname;}do{stringm_name=getName();}while(0);当m_name析构的时候,发生异常分析其中的原因,应该是name的内存不够,为了保存name的结果,在regmatch函..
分类:
其他好文 时间:
2014-07-27 14:20:49
阅读次数:
276
设计String类
//C++ 设计String类:构造函数,拷贝构造函数,析构函数,赋值函数
#include
using namespace std;
class String
{
public:
String(const char *str=NULL);
String(const String&another);
~String();
String&operator=(cons...
分类:
编程语言 时间:
2014-07-26 02:59:16
阅读次数:
383
1. 传参方式使用 insert 为 map 插值时,insert 的传参包含以下几种可能:make_pair 生成对象pair(key_type, value_type) 生成对象pair(const key_type, value_type) 生成对象map::value_type 生成对象不同...
分类:
编程语言 时间:
2014-07-24 12:10:05
阅读次数:
377
noncopyable大家都知道定义一个空类的时候,它实际包含了构造函数,拷贝构造函数,赋值操作符和析构函数等。这样就很容易产生一个问题,就是当用户调用Aa(“^_^")或者Ac="^_^" 时会发生一些意想不到的行为,所以很多时候我们需要禁用这样的用法。一种方法就是把拷贝构造函数和赋值操作符显式的...
分类:
编程语言 时间:
2014-07-24 04:58:18
阅读次数:
300
面向对象编程概述
继承(Inheritance)
class Quote
{
public:
Quote(){cout<<"Quote的构造函数!"<<endl;}
string isbn() const {cout<<"Quote的isbn()调用!"<<endl; string s="Quote,isbn"; return s;}
virtual double ...
分类:
编程语言 时间:
2014-07-23 13:18:16
阅读次数:
314
这是因为在编写程序时,声明了析构函数,但是没有定义析构函数。你的 CClientSocket 类所在文件包括(.h 和 .cpp)文件没有包含进工程中,就是没有生产相应的.obj文件供连接器进行连接。
解决方案:(1)注释析构函数(2)定义析构函数。
我的解决方法是,在vs对应的include目录和source目录,分别右键Add-> 现有项,选择对应的“GLES-Render.h”文件和“G...
分类:
其他好文 时间:
2014-07-23 00:13:38
阅读次数:
210