Зачем это заменять чем то?
чтобы короче было
Сделай шаблонную переменную просто
у меня T и так шаблонная
template<typename T> inline constexpr bool kIsRefOrPtr = ... и дальше твой код
а собственно зачем?
Разве вторая часть выражения не всегда истинна, когда истинна первая?
int, например там два отрицания, если вдруг что
Там отрицание. Нессылка может быть или не быть указателем
Я понял, в мобильном клиенте первое отрицание осталось на предыдущей строке, а всё выражение перенеслось на новую, и вопрос выглядит как "чем можно заменить !"
если идти путем других трейтов, то короче не получается: std::is_fundamental_v<T> || std::is_member_pointer_v<T> || std::is_array_v<T> || std::is_function_v<T> || std::is_enum_v<T> || std::is_class_v<T> || std::is_union_v<T> https://en.cppreference.com/w/cpp/language/type
я все ещё не понимаю зачем пытаться упрощать конструкцию вида A && B
у него все-таки !A && !B, которое можно пытаться упрощать
если бы хотя бы это на рантайме было... Чтоб повышать эффективность
Обсуждают сегодня