摘要: 1、函数模板(template)当需要定义多个具有相同函数名的函数时,需要进行函数重载(overload)。函数重载的条件是这些函数的形参列表各不相同。事实上,所有函数都有签名,函数的签名由函数名称和形参列表确定,程序中每个函数都必须有唯一的签名。同理,不同的返回值类型不足以区别函数。当多个函数重载时,仅仅因为变量和形参类型不同,而算法和流程一致,为避免对每个函数重复编写本质上相同的代码,可以采用函数模板。如下: template<typename T> T Max(T x[], int len){ T result = x[0]; for(int i = 1; i<len; 阅读全文
posted @ 2011-10-26 12:48 玻璃城市 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 1、在C++中动态内存分配在堆上,采用new和delete来申请和释放内存空间,C++运行环境不会自动释放内存空间。如果申请了内存空间不再使用,且未释放将会造成内存泄露。为数组动态分配内存的语法如下: char * pStr = new char[20]; //申请20个字节的字符串数组 delete [] pStr; //释放数组,方括号是为了指出要释放的是一个数组2、CLR的动态内存分配以不同的方式工作,CLR维护着独立于本地C++堆的、自己的内存堆。当不再需要在CLR堆上分配的内存时,CLR将自动将其删除。所以我们不需要再为CLR编写的程序中使用delete运算符。在C++/CL... 阅读全文
posted @ 2011-10-26 11:28 玻璃城市 阅读(1302) 评论(0) 推荐(0) 编辑