Многие встроенные функции в Excel обладают гибкостью благодаря наличию необязательных аргументов. Рассмотрим это на примере функции ЛЕВСИМВ(), предназначенной для извлечения символов с левого края строки. Ее синтаксис следующий: ЛЕВСИМВ(текст; [количество символов]) Первый аргумент, "текст", обязателен, в то время как второй аргумент, "количество символов", является необязательным. Если не указать второй аргумент, Excel автоматически предполагает, что он равен 1. Таким образом, формулы ниже приводят...
Код почти всегда содержит баги. Просто они не видны до поры, до времени. Сегодня хочу поговорить о тех, которые запомнились на этой неделе. std::optional::value_or Сможете найти ошибку без подсказки? Вероятно, потому что я еще не до конца привык к optional... Но идея в том, что, конечно же, в C++ нет ленивых вычислений, как в Haskell. Поэтому аргументы функций должны быть известны на момент её вызова. Ошибка в том, что функция f() вычисляется дважды, даже если результат её вычисления уже есть в кэше...