Передача данных в C ++ Builder & quot; свойство __ & quot;

Являются __properties в C ++ Builder прошел по ссылке или же по значению? …например

 class TMyClass
{
private:
int FMyFoo1;

int GetMyFoo2();
void SetMyFoo2(int AMyFoo2);

public:
__property int MyFoo1 = {read=FMyFoo1, write=FMyFoo1};
__property int MyFoo2 = {read=GetMyFoo2, write=SetMyFoo2};
};

Также вы можете добавить & оператор для __properties, лайк

 __property int &MyFoo = {read=FMyFoo};

но только с компиляторами на основе Clang. Что за этим стоит?

1

Решение

Реми Лебо ответил на мой вопрос в комментарии:

Объявление свойства как

__property DataType PropName = {read=FMember, write=FMember};

предлагает прямой доступ к FMember даже если Тип данных не объявлен в качестве ссылки. Итак, если у вас есть функция, которая принимает Тип данных& ссылка в качестве ввода и передачи Имя_свойства к функции, компилятор все еще может оптимизировать и передать FMember со ссылкой на функцию.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector