Использование функции со ссылкой в ​​качестве функции с указателямиC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Использование функции со ссылкой в ​​качестве функции с указателями

Сообщение Anonymous »

Сегодня я наткнулся на кусок кода, который мне выглядел ужасно. Части были болтались в разных файлах, я попытался написать суть его в простом тестовом примере ниже. Кодовая база обычно сканируется с помощью FlexElint ежедневно, но эта конструкция закладывается в коде с 2004 года. < /P>
Дело в том, что функция, реализованная с помощью параметра, используя ссылки, вызывается в качестве функции с прохождением параметра с использованием указателей ... из -за выполнения функции. Конструкция работает с 2004 года на IRIX, и теперь, когда его портиция действительно работает над Linux/GCC.
Это конструкция, которой можно доверять? Я могу понять, реализуют ли конструкторы компилятора передачу ссылки, поскольку это было указателем, но надежно ли это? Есть ли скрытые риски?
Должен ли я изменить Fref (..) для использования указателей и торможения риска в процессе?
Что вы думаете?#include
#include

using namespace std;

// ----------------------------------------
// This will be passed as a reference in fref(..)

struct string_struct {
char str[256];
};

// ----------------------------------------
// Using pointer here!

void fptr(string_struct *str)
{
cout

Подробнее здесь: https://stackoverflow.com/questions/259 ... h-pointers
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»