Плохо ли перебирать (модифицировать) envp?C++

Программы на C++. Форум разработчиков
Anonymous
Плохо ли перебирать (модифицировать) envp?

Сообщение Anonymous »

Вот как выглядит моя основная функция. Он проходит через envp и помещает ключи и значения в карту для дальнейшего использования:

Код: Выделить всё

while (*++envp)
{
std::string envVarStr = *envp;
size_t delimiterPos = envVarStr.find('=');

// Skip if there's no delimiter
if (delimiterPos == std::string::npos)
continue;

// Parse out what's around the delimiter
std::string key = envVarStr.substr(0, delimiterPos);
std::string value = envVarStr.substr(delimiterPos + 1);
app->env[key] = value;
}
Этот код был частично создан искусственным интеллектом, но в основном в исходной версии использовался такой цикл for:

Код: Выделить всё

for (char** env = envp; *env != nullptr; ++env)...
Итак, является ли моя альтернативная версия, которая изменяет сам envp, хорошей практикой? Или переменная используется для чего-то другого?
После этого envp вообще не используется.

Подробнее здесь: https://stackoverflow.com/questions/798 ... g-envp-bad

Вернуться в «C++»