вот объясните мне, зачем указатели в С/С++? Я че-то серьезного им не приписываю
А то щас на них, вроде да, прикольно, но вроде че-то как-то
Один из примеров, когда указатель нельзя заменить ссылкой, - одна из реализаций техники type erasure (стирание типа)
То есть в одном месте программы образуются данные (разного типа), потом их надо куда-то передавать и там их обрабатывать.
Передавать можно одним типом Message, который инкапсулирует в себе разные типы - как бы стирает тип.
struct Message
{
void *value; // указатель на область памяти с данными
enum Type { // что за тип данных в этой области памяти хранится
INT,
CHAR,
BOOL
} type;
};