У меня есть встроенная функция, которая использует карту для возврата значения. Эта карта может быть инициализирована во время первого вызова функции. Для этого я использую лямбду:
inline float GetFloat(int inInt)
{
static std::map<int, float> const Map = []() -> std::map<int, float>
{
std::map<int, float> Result;
// Example initialization:
Result.emplace(0, 1.5f);
Result.emplace(1, 2.5f);
Result.emplace(2, 72.0f);
//etc?
return Result;
}();
auto Float = Map.find(inInt);
if (Float != Map.end()) return Float->second;
return 0.0f;
}
Теперь мой вопрос: влияет ли сама лямбда на размер стека, который принимает эта функция (игнорируя влияние, которое она явно оказывает на размер карты)?