Witam mam do napisania program, który pobiera string i zastępuje w nim wszystkie spacje znakami %20. Kod poniżej
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
string replace(string a);
int main()
{
cout << replace("abc def ghi");
return 0;
}
string replace(string a)
{
string result;
for (int i = 0; i < a.length(); i++)
if (a.at(i) != ' ')
result += a.at(i);
else if (a.at(i) == ' ')
result += "%20";
return result;
}
W VisualStudio program się kompiluje i działa poprawnie, ale mam pytanie czy nie ma tutaj błędu zarządzania pamięcią, bo deklaruję string "result" w funkcji replace, czyli to jest zmienna lokalna i co się z nią dzieje, kiedy funkcja kończy działanie