[[nodiscard]] operator new
От: _NN_ www.nemerleweb.com
Дата: 24.05.20 10:54
Оценка: 5 (1)
Почему при объявлении [nodiscard]] operator new, я не получаю предупреждение от компилятора о неиспользуемом значения возврата функции ?
C++20 объявляет все operator new как [nodiscard]].

#include <cstdlib>

class A
{
public:
    [[nodiscard]] static void* operator new(size_t count)
    {
        return ::operator new(count);
    }
};


void f()
{
    new A(); // Нет предупреждения
    A::operator new(10); // Есть предупреждение
}


https://gcc.godbolt.org/z/btaMA_
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.