PavelK
@PavelK

Можно ли узнать из функции указатель на переменную, куда она возвращает значение, без явного указания его в параметрах О_о?

Приветствую!
В общем сабж =)
Например:
int myFunction() 
{
....
*mf = 123;
....
}

void main()
{
int mf = myFunction();
 qDebug()<<"mf"<<mf;
}

Интересуюсь из чистого интереса - готов на адцкие костыли и не кросс-платформенно, компилятор MinGW.
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Можно ли узнать из функции указатель на переменную, куда она возвращает значение

В общем случае -- нет. Если возвращаемое значение -- примитивный тип или маленькая структура (влезающая в 1 - 2 регистра, в зависимости от ABI), то это значение возвращается в регистре/регистрах и может вообще нигде не записываться в память. Если возвращается большая структура, то адрес, по которому она должна быть записана, передаётся в функцию как дополнительный скрытый параметр.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы