Обоснование этого дополнения с примерами можно найти здесь . Короче говоря, это разъяснение того, когда именно должна быть определена функция распределения / освобождения для класса.
Правило (C ++ 03) One Definition требует, чтобы каждая переменная или функция, которая использовала в программе, для очень специфического определения «use», имела ровно одно определение.
Поэтому описание того, когда (де) функция распределения считается «используемой», также обязывает, когда требуется определение.
Во избежание путаницы между общим значением слова «use» и значением «use», как оно определено в ODR, слово «use» было заменено на «odr-use» всякий раз, когда подразумевается второе значение.