Сообщение Re[9]: Безопасно ли присваивать один указатель другому?.. от 30.03.2018 9:09
Изменено 30.03.2018 9:50 Croessmah
Re[9]: Безопасно ли присваивать один указатель другому?..
Здравствуйте, SaZ, Вы писали:
SaZ>Я вообще к чему это всё — в техникуме нас учили языку Си. С тех пор я как-то привык что в void* можно положить любой указатель. И был удивлён, что это не так.
К слову, в C даже указатель на функцию нельзя преобразовывать в указатель на данные (в т.ч. в void*). Такое преобразование является возможным, но имеет неопределенный результат и не является переносимым.
SaZ>Я вообще к чему это всё — в техникуме нас учили языку Си. С тех пор я как-то привык что в void* можно положить любой указатель. И был удивлён, что это не так.
К слову, в C даже указатель на функцию нельзя преобразовывать в указатель на данные (в т.ч. в void*). Такое преобразование является возможным, но имеет неопределенный результат и не является переносимым.
Re[9]: Безопасно ли присваивать один указатель другому?..
Здравствуйте, SaZ, Вы писали:
SaZ>Я вообще к чему это всё — в техникуме нас учили языку Си. С тех пор я как-то привык что в void* можно положить любой указатель. И был удивлён, что это не так.
К слову, в C даже указатель на функцию нельзя преобразовывать в указатель на данные (в т.ч. в void*). Такое преобразование является возможным, но имеет неопределенный результат и не является переносимым. Но, например, POSIX требует чтобы такое преобразование было валидным.
SaZ>Я вообще к чему это всё — в техникуме нас учили языку Си. С тех пор я как-то привык что в void* можно положить любой указатель. И был удивлён, что это не так.
К слову, в C даже указатель на функцию нельзя преобразовывать в указатель на данные (в т.ч. в void*). Такое преобразование является возможным, но имеет неопределенный результат и не является переносимым. Но, например, POSIX требует чтобы такое преобразование было валидным.