David's answer в значительной степени объясняет мотивацию для этого, чтобы явно показать другим «разработчикам», что вы знаете, что эта функция возвращает, но вы явно игнорируете ее.
Это способ гарантировать, что при необходимости всегда обрабатываются коды ошибок.
Я думаю, что для C ++ это, пожалуй, единственное место, где я предпочитаю также использовать приведение в стиле C, поскольку использование полной статической нотации приведений здесь кажется излишним. Наконец, если вы просматриваете стандарт кодирования или пишете его, то также неплохо бы прямо указать, что вызовы перегруженных операторов (не использующих нотацию вызова функций) также должны быть освобождены от этого:
class A {};
A operator+(A const &, A const &);
int main () {
A a;
a + a; // Not a problem
(void)operator+(a,a); // Using function call notation - so add the cast.