8
Ефективний непідписаний підпис, уникаючи поведінки, визначеної реалізацією
Я хочу визначити функцію, яка приймає unsigned intяк аргумент і повертає до аргументу intконгруентний модуль UINT_MAX + 1. Перша спроба може виглядати так: int unsigned_to_signed(unsigned n) { return static_cast<int>(n); } Але, як відомо будь-якому мовному юристу, приведення з непідписаного на підписане значення, більші за INT_MAX, визначається реалізацією. Я хочу реалізувати …