-
- Такое я представляю, в моем случае даже шаблоны не понадобятся,
т.к. тип и размер известны заранее. Не представляю как сделать
указатели, что бы вся арифметика и прочая работа с указателями
сохранилась, но при этом и выход за границы проверялся. И что бы в
тексте программы были обычные buf[123] и *prt, и что бы так
(ptr<&buf[5]) работало. Я не слишком много хочу? - AlexBi(30.09.2020 12:41)
- Ну так для указателей тоже можно сделать класс, который всё будет
делать как надо, нет? - SciFi(30.09.2020 12:44)
- Можно. Только хочется сохранить запись foo(CTyp *ptr), а не
переходить к foo(CTypPtr ptr), что бы простым typedef-ом все
возвращалось обратно в int. Да и привычнее видеть в тексте
указатель как *ptr. - AlexBi(30.09.2020 12:54)
- Еще лучше один раз написать typedef CTyp* PTyp, а символ умножения использовать как символ умножения. Boвa(51 знак., 30.09.2020 17:12)
- Дохера работы толькo, нужно переопределить кучу операторов. Потом в месте присвоения указателя нужно задавать границы массива (а в коде для МК -- не нужно). Поэтому от сырых указателей проще вообще избавиться, просто на МК подсовывать упрощённую реализацию, которая границ массива не запоминает и ничего не проверяет. - fk0(30.09.2020 12:49)
- Можно. Только хочется сохранить запись foo(CTyp *ptr), а не
переходить к foo(CTypPtr ptr), что бы простым typedef-ом все
возвращалось обратно в int. Да и привычнее видеть в тексте
указатель как *ptr. - AlexBi(30.09.2020 12:54)
- Ну так для указателей тоже можно сделать класс, который всё будет
делать как надо, нет? - SciFi(30.09.2020 12:44)
- Такое я представляю, в моем случае даже шаблоны не понадобятся,
т.к. тип и размер известны заранее. Не представляю как сделать
указатели, что бы вся арифметика и прочая работа с указателями
сохранилась, но при этом и выход за границы проверялся. И что бы в
тексте программы были обычные buf[123] и *prt, и что бы так
(ptr<&buf[5]) работало. Я не слишком много хочу? - AlexBi(30.09.2020 12:41)