⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ringarray.h

📁 奇迹世界公用文件源代码,研究网络游戏的朋友可以研究下
💻 H
字号:
#ifndef __RINGARRAY_H__
#define __RINGARRAY_H__

//=============================================================================================================================
// m_byMaxSize 郴俊辑 Data History甫 巢变促. 溜 啊厘 坷贰等 单捞鸥甫 瘤快绊 货肺款 单捞鸥甫 盎脚茄促.
//=============================================================================================================================


#include <vector>
using namespace std;

namespace util
{


template <typename T>
class RingArray
{
public:
	RingArray()
	{
	}

	~RingArray()
	{
	}

	void Init(DWORD iMaxSize)
	{
		m_dwCurSize = m_dwCurPos = 0;
		T TempData;
		m_Array.insert(m_Array.begin(), iMaxSize, TempData);
	}

	void InsertData(T Data)
	{
		m_Array[m_dwCurPos] = Data;

		if(++m_dwCurPos >= m_Array.capacity())
		{
			m_dwCurPos = 0;
		}
		if(++m_dwCurSize > m_Array.capacity())
		{
			--m_dwCurSize;
		}
	}

	T AverageData()
	{
		T SumData;
		DWORD dwPos;
		memset(&SumData, 0, sizeof(T));

		for(DWORD i=0; i< m_dwCurSize; i++)
		{
			dwPos = m_dwCurPos+i;
			if(dwPos >= m_dwCurSize)	dwPos -= m_dwCurSize;

			SumData += m_Array[dwPos];
		}

		return SumData * (float)(1/m_dwCurSize);
	}

	DWORD GetSize()
	{
		return m_dwCurSize;
	}


private:
	DWORD				m_dwCurSize;
	DWORD				m_dwCurPos;		// 促澜 单捞磐啊 甸绢哎 磊府
	std::vector<T>		m_Array;
};


}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -