template<class TYPE, class ARG_TYPE = const TYPE&>它的一个构造例子是
// declares an array of points
CArray<CPoint,CPoint> ptArray请问它构造一个CPoint类型的数组为何要 填两次CPoint啊,在我看来一个参数就够了啊, 在模板的构造参数中class ARG_TYPE = const TYPE& 代表什么意思呢? 特别是这个 TYPE& ? 它这个后面的&又有什么用呢?
// declares an array of points
CArray<CPoint,CPoint> ptArray请问它构造一个CPoint类型的数组为何要 填两次CPoint啊,在我看来一个参数就够了啊, 在模板的构造参数中class ARG_TYPE = const TYPE& 代表什么意思呢? 特别是这个 TYPE& ? 它这个后面的&又有什么用呢?
解决方案 »
- 如何更改VC6的VSS绑定
- DirectX 如何高速显示图片
- 如何实时显示音频采集的波形,并且支持两个麦克风输入?
- 关于OnTimer()和线程 。。(在OnTimer()里开线程能减小他的压力吗??)
- 使用CFileDialog时,如何得知目前选择的文件的后缀名?
- 谁知道哪里有键盘、鼠标钩子的资料,一个地址20分,能把资料发给我的100分/次
- Object ARX 2000的问题
- vc如何删除文件??
- 关于用CSplitterWnd类创建的无文档关联的多个视图之间的通讯问题?
- 求助:VC++6.0中new的BUG问题的解决方案?
- 请问关于 #if (WINVER >= 0x0500)
- 关于CScrollView继承提问
TYPE&表示CArray成员函数使用一个引用参考,引用避免了值传递产生的数据拷贝,这对于大类型数据对象是很有利的。
比方说CArray::Add( ARG_TYPE newElement )成员,虽然ARG_TYPE是CPoint和CPoint&都可以用,而CPoint是值传递,需要数据拷贝,显然效率有问题。