ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
1425729 Топик полностью
ASDFSUSB-гуру (12.04.2024 17:35, просмотров: 163) ответил LightElf на Я наверно тормоз и все давно так делают, но...
У меня есть такое и на дефайнах и на шаблонах 
	#define	RAW_td(_A_type,_A_Size,Name)					\
		struct _##Name {u16_t _rPtr, _wPtr, _Q, _Lock;		\
			static	constexpr u16_t _S = (1<<_A_Size)	;	\
			static	constexpr u16_t _M = ((1<<_A_Size)-1)	;	\
			_A_type		_A[(1<<_A_Size)];			\
		} Name;

	template <uint16_t _A_Size, typename _A_type> class RAW16 {
	private:
	public:
		enum {
			_S	= (1<<_A_Size),
			_M	= (_S - 1),
		};
_A_type _A[_S];
struct _F { u16_t _rPtr; u16_t _wPtr; u16_t _Q; }; };
RAW16<10, sint32_t> A_Raw;