Каковы различия между определениями параметров как (тип и имя) и (тип * имя)?

Очень простой вопрос, но все же, было бы хорошо услышать от гуру C ++ там.

Существует два довольно похожих способа объявления параметров по ссылкам в C ++.

1) Используя «звездочку»:

void DoOne(std::wstring* iData);

2) Использование «амперсанда»:

void DoTwo(std::wstring& iData);

Каковы последствия каждого метода? Есть ли какие-нибудь ошибки в любом случае?

Бонус № 1: Какой будет формальный способ вызова метода в № 1 и № 2? Они оба называются "по ссылке"?

Бонус # 2: std :: wstring используется намеренно. Каковы будут последствия для стандартных библиотечных классов в каждом случае?

Ответы на вопрос(3)

Ваш ответ на вопрос