Я знаю, что это не сработает, потому что переменная x уничтожается, когда функция возвращает:
int* myFunction()
{
int x = 4; return &x;
}
так как мне правильно вернуть указатель на что-то, что я создаю в функции, и с чем мне нужно позаботиться? Как избежать утечек памяти?
Я также использовал malloc:
int* myFunction2()
{
int* x = (int*)malloc(sizeof int); *x = 4; return x;
}
Как вы правильно это делаете - в C и C ++?