Что такое эквивалент перераспределения std :: align_alloc ()?

я заметил std::aligned_alloc() захожу в C ++ 17, и мне это нравится. Но — что происходит, когда мне нужно перераспределить? Я могу сделать это вручную (если предположить, что доступное пространство по выделенному в данный момент адресу — это только то количество, которое я просил), но не должно ли быть средство для этого в стандартной библиотеке?

4

Решение

Нет такого стандартного эквивалента вызова.

Например, последняя реализация Microsoft C ++ по-прежнему имеет свои собственные _aligned_malloc() вместо std::aligned_alloc(), А также здесь они объясняют почему:

align_alloc (), вероятно, никогда не будет реализован, как указано C11
таким образом, что это несовместимо с нашей реализацией (а именно, что
free () должна быть в состоянии обрабатывать высокораспределенные выделения).

Среди их версий с префиксом, только для MS, реализации библиотек C ++, с которыми они вам служат _aligned_realloc() 🙂

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]