//对不对不知道,运行好像没发现问题 版本 vs2012 gcc 4.4.7-17
template<typename _Tst,INT nCount = 1024>
class BJDArray
{
public:
//gcc 4.4.7-17不支持
//typedef typename _Tst value_type;
//typedef typename _Tst* pointer;
BJDArray(){Init(nCount);}
BOOL Init(INT _maxSize ){
if (_maxSize < 0 || _maxSize >=100000)
{
m_maxSize = 0;
CCError("BJDArray Init 非法");
return FALSE;
}
m_maxSize = _maxSize;
return TRUE;
}
_Tst& operator[](INT index){
if (index < 0 || index >= m_maxSize)
{
CCError("BJDArray index 越界",index);
return m_data[m_maxSize - 1];
}
return m_data[index];
}
_Tst* begin()
{
return m_data;
}
_Tst* end()
{
return &m_data[m_maxSize];
}
INT size()
{
return m_maxSize;
}
INT MaxSize()
{
return m_maxSize;
}
_Tst m_data[nCount];
INT m_maxSize; //最大长度
};
例子:
BJDArray