stl : array
发布日期:2021-06-30 22:04:01 浏览次数:2 分类:技术文章

本文共 1459 字,大约阅读时间需要 4 分钟。

// TemplateArray.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include 
#include
#include
#include "LsArray.h"int _tmain(int argc, _TCHAR* argv[]){ size_t nIndex = 0; size_t nSizeArr = 100; CLsArray
* plArr = new CLsArray
(nSizeArr); CLsArray
* pfArr = new CLsArray
(nSizeArr); CLsArray
* pwArr = new CLsArray
(nSizeArr); /// make error, when nIndex = GetSize(), ASSERT happen // for (nIndex = 0; nIndex <= plArr->GetSize(); nIndex++) for (nIndex = 0; nIndex < plArr->GetSize(); nIndex++) { (*plArr)[nIndex] = nIndex; (*pfArr)[nIndex] = 1.0f * nIndex; (*pwArr)[nIndex] = nIndex; } delete []plArr; delete []pfArr; delete []pwArr; _tprintf(L"\r\nEND, press anykey to quit\r\n"); getwchar(); return 0;}
/// @file       LsArray.h/// @brief      数组模板类template 
class CLsArray{public: CLsArray(size_t nSizeArr) { m_nSizeArr = nSizeArr; m_pArr = new T[m_nSizeArr]; _ASSERT(NULL != m_pArr); ::ZeroMemory(m_pArr, m_nSizeArr * sizeof(T)); } virtual ~CLsArray(void) { if (NULL != m_pArr) { delete [] m_pArr; m_pArr = NULL; } } T & operator [](size_t n) { _ASSERT(n < m_nSizeArr); ///< 赋值时,有断言 return *(m_pArr + n); } size_t GetSize() {return m_nSizeArr;}private: size_t m_nSizeArr; T * m_pArr;};

转载地址:https://lostspeed.blog.csdn.net/article/details/12398785 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:note : 资源管理器文件操作调用的API方法列表
下一篇:note : COM Tips

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年05月04日 21时45分59秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章