Похоже, что в моем поиске foo сегодня не хватает.
Я хотел бы знать, является ли допустимым в соответствии со стандартом C ++ для проверки "любой" ячейки памяти через (без знака (?))символ *.Под любым местоположением я подразумеваю любой действительный адрес объекта или массива (или внутри массива) внутри программы.
В качестве примера:
void passAnyObjectOrArrayOrSomethingElseValid(void* pObj) {
unsigned char* pMemory = static_cast<unsigned char*>(pObj)
MyTypeIdentifyier x = tryToFigureOutWhatThisIs(pMemory);
}
Отказ от ответственности : Этот вопрос носит чисто академический характер.Я не собираюсь помещать это в производственный код!Под Legal Я имею в виду, если это действительно Legal в соответствии со стандартом, то есть если он будет работать на 100% всех реализаций.(Не только на x86 или некоторых других аппаратных средствах.)
Подвопрос: static_cast
является ли правильным инструментом для перехода от адреса void * к указателю char *?