Может ли функция изменить цель указателя, переданного как параметр, чтобы эффект оставался вне функции?Могу ли я изменить цель указателя, переданного как параметр?
void load(type *parameter)
{
delete parameter;
parameter = new type("second");
}
type *pointer = new type("first");
load(pointer);
В этом примере минимального, будет pointer
пункта второго объекта выделить? Если нет, как я могу получить такое поведение?
Обновление: Чтобы уточнить мое намерение, вот код, который я бы использовал, если бы параметр был нормальным типом вместо указателя. В этом случае я бы просто использовал ссылки.
void load(type ¶meter)
{
parameter = type("second");
}
type variable("first");
load(&variable);
Это легко, но я стараюсь делать то же самое с указателями.
Я не знал об этой концепции. Он работает так, как ожидалось. Благодарю. – danijar
@ danijar рад, что я мог бы помочь. – stardust
Только параметр 'delete parameter;' не работает. I приводит к нарушению доступа. Могу ли я как-то освободить память перед назначением нового объекта? – danijar