я пытаюсь придумать конкретное объяснение, почему использовать указатель на ссылку в качестве типа, возвращаемого функцией,
я считаю, что если случайно нулевое значение возвращается ссылочному типу его невозможно проверить и может привести к ошибкам времени выполнения
int& something(int j)
{
int* p = 0 ;
return *p;
}
void main()
{
int& i = something(5);
i = 7; // run-time error
}
, если бы я использовал указатель, я мог бы проверить его и избежать ошибки возвращаемое значение указателя будет действовать как контракт на то, что значение должно быть возвращено.
void main()
{
int* i = something(5);
if( i != null )
*i = 7;
}
любые мысли будут приветствоваться еще раз,
что бы вы использовали и почему ссылку или указатель
заранее благодарим.