carray.h

来自「一个自己定义的数组外包装」· C头文件 代码 · 共 50 行

H
50
字号
/*
#ifndef _SIZE_T_DEFINED
#ifdef  _WIN64
typedef unsigned __int64    size_t;
#else
typedef _W64 unsigned int   size_t;
#endif
#define _SIZE_T_DEFINED
#endif
*/
#ifndef _CARRAY_H_
#define _CARRAY_H_



#include <cstddef>

template<typename T,std::size_t thesize>
class carray
{
private:
	T v[thesize];

public:
	typedef T	value_type;
	typedef T*  iterator;
	typedef const T*   const_iterator;
	typedef T&	reference;
	typedef const T& const_reference;
	typedef std::size_t size_type;

	iterator begin(){ return v; }
	const_iterator begin() const { return v; }
	iterator end(){ return v+thesize; }
	const_iterator end() const {return v+thesize; }

	reference operator[](std::size_t i) {return v[i];}
	const_reference operator[](std::size_t i) const
	{
		return v[i];
	}

	size_type size() const {return thesize;}
	size_type max_size() const {return thesize;}

	T* as_array() {return v;}

};

#endif

⌨️ 快捷键说明

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