2012年11月13日

c++ function template

摘要: 以swapValues 为例 有时候不止想比较int ,还想比较char 类型的自定义类型的,为了代码重用和灵活性, 可使用void swapValues( int& variable1, int& variable2) {int temp; temp = variable1; variable1 = variable2; variable2 = temp; }语法template<class T>// 也可以有两个参数template<class T1, class T2>void swapValues(T& variable1, T& 阅读全文

posted @ 2012-11-13 10:46 GIS-MAN 阅读(507) 评论(0) 推荐(0) 编辑

类里面没有参缺省构造函数 的带来的问题

摘要: 对于很多对象来说,不利用外部数据进行完全的初始化是不合理的。比如一个没有输入姓名的地址簿对象,就没有任何意义class EquipmentPiece { public: EquipmentPiece(int IDNumber); ... };因为 EquipmentPiece 类没有一个缺省构造函数,所以在三种情况下使用它,就会遇到问题(1) 第一中情况是建立对象数组时 ——EquipmentPiece bestPieces[10]; // 错误!没有正确调用 EquipmentPiece 构造函数 EquipmentPiece *bestPiec... 阅读全文

posted @ 2012-11-13 10:27 GIS-MAN 阅读(815) 评论(0) 推荐(0) 编辑

new操作符(new operator) 和 new操作(operator new)的区别。

摘要: 当你写这样的代码: string *ps = new string("Memory Management"); 你使用的 new 是 new 操作符。这个操作符就象 sizeof 一样是语言内置的,你不能改变它的含义,它的功能总是一样的。它要完成的功能分成两部分。第一部分是分配足够的内存以便容纳所需类型的对象。第二部分是它调用构造函数初始化内存中的对象。new操作符总是做这两件事情,你不能以任何方式改变它的行为。你所能改变的是如何为对象分配内存。new 操作符调用一个函数来完成必需的内存分配,你能够重写或重载这个函数来改变它的行为。new 操作符为分配内存所调用函数的名字是 阅读全文

posted @ 2012-11-13 10:11 GIS-MAN 阅读(2470) 评论(0) 推荐(0) 编辑

导航