Неоднозначность строковых NULL и ""
Проблема
NULL
и ""
для типа string
имеют разные значения, хотя в некоторых случаях могут интерпретироваться одинаково. Но точно не при прямом сравнении.
Одна из проблем в том, что в подсказках функций, где значение по умолчанию установлено как ""
, показывается значение по умолчанию NULL
.
void test(string s = "")
{
}
void OnStart()
{
test(
Решение
- Функции-обёртки с явно заданным поведением.
- При проверке на пустую строку использовать функцию, возвращающую
s == "" || s == NULL
. Если, конечно, случай строковогоNULL
не нужен зачем-то ещё (ну тогда ССЗБ).
Edited by FXcoder