Предполагая, что ваш компилятор C++ поддерживает их, есть ли какая-либо особая причина не использовать __FILE__
, __LINE__
и __FUNCTION__
для целей ведения журнала и отладки?
Меня в первую очередь беспокоит предоставление пользователю вводящих в заблуждение данных — например, сообщения о неправильном номере строки или функции в результате оптимизации — или снижение производительности в результате.
По сути, могу ли я доверять __FILE__
, __LINE__
и __FUNCTION__
всегда поступать правильно?