Абсолютно согласен — std::numeric_limits<double>::quiet_NaN() действительно короче, чище и чаще используется на практике, чем std::nan("")