Не говоря уже о том, если это в часто-вызываемом-методе, это может влиять на полное поведение приложения.
, Например, я рассматриваю использование Int32. Синтаксический анализ как плохая практика в большинстве случаев, так как это выдает исключения для чего-то, что может быть поймано легко иначе.
Так для завершения всего записанного здесь:
1) попытка Использования.. блоки выгоды для фиксации неожиданных ошибок - почти никакая потеря производительности.
2) не используют исключения для исключенных ошибок, если можно избежать его.
Добавьте оператор if
:
perl -p -e 's/regex/replacement/g if /^\s*return/;' fileName.cpp
В качестве альтернативы вы можете использовать, что строка, которую вы передаете в perl -p, является телом цикла:
perl -p -e 'next unless /^\s*return/; s/add/replacement/g;' filename.cpp
Вы можете просто поместить что-то в соответствие -> в свое регулярное выражение, чтобы оно не соответствовало определению функции. Еще лучше было бы написать сценарий, который анализирует строку за строкой и отклоняет строки без -> даже до выполнения замены.