Currently, the distribution functions in the standard library accept std::nothrow_t by reference const, for example:
void* operator new ( std::size_t count, const std::nothrow_t& tag); void* operator new[]( std::size_t count, const std::nothrow_t& tag);
Since std::nothrow_t is just a tag type for sending purposes, is it not easier and (perhaps) more efficient to take it by value? For instance:
void* operator new ( std::size_t count, std::nothrow_t tag); void* operator new[]( std::size_t count, std::nothrow_t tag);
What is the rationale for const const construction?
source share