ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Ф-ции присваиваем значение.
  #1  
Старый 18.08.2008, 14:25
xGOR
Участник форума
Регистрация: 25.11.2007
Сообщений: 119
Провел на форуме:
565921

Репутация: 88
По умолчанию Ф-ции присваиваем значение.

Привет всем. Вот недавно вкуривал новое СадоМазо в С++. Вкурил то, что ф-ции присвоил значение. Перейду сразу к сорцу =)

Код:
#include <iostream>
using namespace std;

int x;
int& func(){
return x;
}

void main(){
int f=5;
x=4;
cout<<"x="<<x<<"\nfunc()="<<func();
func()=f;
cout<<"\n\nx="<<x<<"\nfunc()="<<func()<<endl;
}
Смысл здесь такой: если ф-ция возвращает значения ввиде ссылки, то компилятор интерпритирует её как переменную.

Если ктото ещё подобные вещи знает, отписывайте

Последний раз редактировалось xGOR; 18.08.2008 в 17:18..
 
Ответить с цитированием

  #2  
Старый 21.08.2008, 14:08
ronald
Участник форума
Регистрация: 27.03.2008
Сообщений: 288
Провел на форуме:
800727

Репутация: 83
Отправить сообщение для ronald с помощью ICQ
Lightbulb

как, я понял, а я всегда плохо понимаю, ты хочеш, чтобы функция вернула тебе значение x? Ты хочешь, чтобы значение x изменялось, функцией на значение f? Тогда всё правильно.

Последний раз редактировалось ronald; 21.08.2008 в 14:12..
 
Ответить с цитированием

  #3  
Старый 21.08.2008, 14:18
ronald
Участник форума
Регистрация: 27.03.2008
Сообщений: 288
Провел на форуме:
800727

Репутация: 83
Отправить сообщение для ronald с помощью ICQ
Wink

Тэк-с, мне не давал покоя ммой корявый пост, разъясняю подробно:
func() возвращает значение x,
следовательно func=x,
ты передаешь функции значение f(было бы правильнее) func(x), на мой взгляд,
тогда функция изменяет значение x на значение f и выдаёт. Исправьте меня если ошибся, я ещё малёк в с++
P.S:если помог, то плюсы в студию))
 
Ответить с цитированием

  #4  
Старый 21.08.2008, 14:20
ronald
Участник форума
Регистрация: 27.03.2008
Сообщений: 288
Провел на форуме:
800727

Репутация: 83
Отправить сообщение для ronald с помощью ICQ
По умолчанию

& убери)))
 
Ответить с цитированием

  #5  
Старый 21.08.2008, 16:21
Mystic.asm
Новичок
Регистрация: 20.08.2008
Сообщений: 2
Провел на форуме:
30695

Репутация: 0
По умолчанию

Нет, здесь просто используется ссылка на int&. Ничего особенного в этом коде я не вижу, в стандартных классах это сплошь и рядом (std::vector<T>::at(size_t), std::vector<T>:perator[](size_t)).
Просто чтобы понять это, можно интерпретировать ссылку как саморазыменовывающийся указатель, никакого садомазо, все очевидно.
 
Ответить с цитированием

  #6  
Старый 21.08.2008, 16:40
ronald
Участник форума
Регистрация: 27.03.2008
Сообщений: 288
Провел на форуме:
800727

Репутация: 83
Отправить сообщение для ronald с помощью ICQ
По умолчанию

ок, недопонел. Eee7-смерть клавиатуры и монитора, сидеть максимум десять минут и идти блевать)))))
 
Ответить с цитированием

  #7  
Старый 21.08.2008, 16:45
4p3
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме:
750247

Репутация: 92
Отправить сообщение для 4p3 с помощью ICQ
По умолчанию

Простое жонглирование именем переменной и адресом. На практике может быть источником весьма неприятных ошибок.

return *this в С++ очень близок по функциональности, когда используется в &operator = или же &operator +

По сути автор и реализовал тот самый operator=(int f) только в извращенном виде.
 
Ответить с цитированием

  #8  
Старый 21.08.2008, 17:35
[Y.P.C.]yla
Участник форума
Регистрация: 06.11.2006
Сообщений: 278
Провел на форуме:
2805600

Репутация: 660
По умолчанию

аффтор ты гониш!
че ж тут знать о присвоении
нафиг такую ерунду писать?О_о
это в каждом учебнике имеется в первых главах ))
жжошь))
 
Ответить с цитированием

  #9  
Старый 22.08.2008, 12:12
ronald
Участник форума
Регистрация: 27.03.2008
Сообщений: 288
Провел на форуме:
800727

Репутация: 83
Отправить сообщение для ronald с помощью ICQ
По умолчанию

Это был один из моих первых опытов на С++ (присвоение переменной значение) вообще никому нах не нужна эта вещь
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Полезные ключи реестра. Scofild Windows 6 23.04.2008 16:17
Небольшой креатиФчик. ArmageddonPro Авторские статьи 1 15.01.2008 08:58
Отключить комп до моего прихода Debian Windows 27 27.12.2007 00:06
Многопоточность в Unix KEZ С/С++, C#, Delphi, .NET, Asm 11 10.08.2005 18:29
Ваш ник, второе значение )) OLIVER Болталка 49 22.06.2005 20:51



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ