в C ++, в чем разница между объектом и указателем на объект?

В java и objective-c переменная, представляющая объект, обычно является указателем на этот объект. Однако кажется, что в C ++ обычно используются объекты, не являющиеся указателями. В чем разница между ними?

Если я передаю структуру в качестве аргумента функции, я считаю, что передаю по значению, то есть фактически создаю новую структуру в памяти, и изменения в этой структуре внутри функции, которой она передана, не повлияют на «исходную» структуру вне функции. Однако, если я передаю указатель на структуру, останется только одна исходная структура, и изменения в структуре, на которую указывает указатель, будут видны любому коду, который знает об этой структуре. Я имею это право?

Итак, есть ли разница с объектами? Когда я передаю в функцию объект без указателя, копируется ли весь объект?

7
задан morgancodes 21 March 2011 в 00:38
поделиться