Можно ли сократить это использование троичного оператора:
process_ptr(ptr ? ptr : default_ptr);
с коротким замыканием:
process_ptr(ptr || default_ptr);
в C и С++? Другими словами, гарантируем ли мы, что мы вернемся либо из ptr
, либо из default_ptr
назад, или, возможно, допустимо, чтобы выражение приводило к произвольному "логическому истинному" значению, если выражение логически верно?
Это код, который вы видите во всем коде Perl, но я редко вижу его в C/С++, что исходная основа моего вопроса.