ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
1041280 Топик полностью
AlexBi (30.09.2020 16:22, просмотров: 404) ответил AlexBi на Пытаюсь начать отлаживать кусочки программы для м/к на ПК, с симуляцией. Хочу добавить контроль выхода за границы буфера и ни как не придумаю как это лучше сделать. Программа для м/к на С (таков компилятор), программа на ПК на С++. Программа для ПК состоит из файлов для м/к, без изменений, плюс что-то еще. Пока получается так:
Учитывая поступившие предложения получается, что сам буфер можно оставить типа int, а указатель сделать отдельным типом CPtr. В версии для м/к это будет typedef in t*CPtr; Для этого типа надо будет написать: 
CPtr::CPtr(int *) // тут неявное задание границ, т.к. все буферы статические
CPtr::CPtr(CPtr) // не уверен что нужно
int & operator*(CPtr&) // тут проверка выхода за границы
int & operator[](CPtr&, int) // тут тоже проверка выхода за границы
CPtr& operator=(CPtr&) CPtr& operator+(CPtr&, int) CPtr& operator-(int) CPtr& operator++(CPtr&) CPtr operator++(CPtr&, int) CPtr& operator--(CPtr&) CPtr operator--(CPtr&, int)

Остальные арифметические добавлять по мере использования. Выглядит не очень масштабно. Я ни чего не упустил?