C ++ 17 добавлено [[nodiscard]]
.
C ++ 20 добавлено использование [[nodiscard]]
в empty
методы, например, vector::empty()
- возможно, , чтобы избежать путаницы пользователя с методом clear (т. е. случайным вызовом empty () для clear вектор).
Почему C ++ 20 не использовал эту возможность для добавления [[nodiscard]]
к unique_ptr::release
?
Существует ли допустимый разумный сценарий, в котором можно было бы вызвать unique_ptr::release
, не принимая возвращенное значение?
Таким же образом, чтобы избежать путаницы пользователей (если это было причиной для добавления [[nodiscard]]
к empty
методы) - имя release
всегда было очень запутанным, звучит как, ну ... что-то здесь будет выпущено.
Добавление [[nodiscard]]
может каким-то образом решить эту проблему с именем.