LINUX.ORG.RU

История изменений

Исправление hobbit, (текущая версия) :

Чтобы передать некий объект в качестве параметра функции, нужно при вызове функции передать ей указатель на этот объект.

Ну про функцию это уже несколько другой уровень постижения. Начать лучше с того, что указатель это адрес, который (внезапно) указывает на некие данные в памяти. В самом понятии указателя ничего сложного нет, просто они требуют внимательности в работе. Обращаясь к указателю, надо иметь гарантию, что он указывает на то, что надо. Если он нулевой, это нормально, это легко проверяется. Хуже, если он указывал на некий объект, а область памяти этого объекта уже освободили. Для того, чтобы всё это как-то разрулить, одни люди придумывают концепцию владения, другие – умные указатели и др.

Но это, в общем, уже детали. Начать надо с того, что указатель – это просто адрес. (Тут да, ассемблер наиболее наглядный язык получается, и мне тяжеловато представить, как это выглядит с точки зрения человека, начинавшего с PHP…)

Исходная версия hobbit, :

Чтобы передать некий объект в качестве параметра функции, нужно при вызове функции передать ей указатель на этот объект.

Ну про функцию это уже несколько другой уровень постижения. Начать лучше с того, что указатель это адрес, который (внезапно) указывает на некие данные в памяти. В самом понятии указателя ничего сложного нет, просто они требуют внимательности в работе. Обращаясь к указателю, надо иметь гарантию, что он указывает на то, что надо. Если он нулевой, это нормально, это легко проверяется. Хуже, если он указывал на некий объект, а область памяти этого объекта уже освободили. Для того, чтобы всё это как-то разрулить, одни люди придумывают концепцию владения, другие – умные указатели и др.

Но это, в общем, уже детали. Начать надо с того, что указатель – это просто адрес. (Тут да, ассемблер наиболее наглядный язык получается.)