Влияние лямбда-объявления на размер стека функций - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть встроенная функция, которая использует карту для возврата значения. Эта карта может быть инициализирована во время первого вызова функции. Для этого я использую лямбду:

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;
}

Теперь мой вопрос: влияет ли сама лямбда на размер стека, который принимает эта функция (игнорируя влияние, которое она явно оказывает на размер карты)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...