Форум программистов, компьютерный форум, киберфорум
D (DLang)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/34: Рейтинг темы: голосов - 34, средняя оценка - 4.62
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
1

Функции со значком @

15.02.2015, 16:15. Показов 6624. Ответов 5

Author24 — интернет-сервис помощи студентам
Подскажите, пожалуйста, для чего нужно функции со значком @? И приведите какие-нибудь простые примеры.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2015, 16:15
Ответы с готовыми решениями:

Проблемы со значком
Значек на Project1 подцепил 1.ico. Папку открываю, смотрю все красиво)) Но когда делаешь ярлык на...

Кнопка со значком закрытия
Доброго времени суток, прошу помочь разобраться как сделать кнопку при наведении которой через...

Непонятки со значком программы
Здравствуйте. (С++ Builder 6) Установил иконку для программы (Project->Options и т.д.) Так вот в...

Диски отображаются некорректным значком
Диски отображаются некорректным значком,вирус ли это или что?

5
Супер-модератор
6197 / 2945 / 1300
Регистрация: 04.03.2013
Сообщений: 5,790
Записей в блоге: 1
15.02.2015, 18:07 2
Видимо это атрибуты (см. Александреску, стр. 199)
1
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
15.02.2015, 18:25  [ТС] 3
ildwine, а как задействовать этот аргумент property?
C++
1
2
3
4
5
6
7
8
9
10
11
import std.stdio;
 
@property int foo() {
    int a = 5;
    return a;
}
 
void main() {
 
    writeln(foo);   // prints 5
}
0
Антикодер
1887 / 869 / 48
Регистрация: 15.09.2012
Сообщений: 3,081
17.02.2015, 00:12 4
Насколько я понял[а я могу ошибаться], что если написать без @property то в будущих версиях
writeln(foo); может не скомпилироваться, и придётся исправлять на foo().
0
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
17.02.2015, 00:18  [ТС] 5
Цитата Сообщение от XRuZzz Посмотреть сообщение
то в будущих версиях writeln(foo); может не скомпилироваться
Ну пока что компилируется.
Цитата Сообщение от XRuZzz Посмотреть сообщение
Насколько я понял[а я могу ошибаться]
Ну а какой вообще смысл использования таких функций? Зачем-то же они созданы?
0
Антикодер
1887 / 869 / 48
Регистрация: 15.09.2012
Сообщений: 3,081
17.02.2015, 02:46 6
Лучший ответ Сообщение было отмечено Dennis Ritchie как решение

Решение

Александреску, русское издание:
-стр 84 краткое описание, одним предложением про property
-стр 134 ключевая таблица по атрибутам типа safe trusted system
-стр 199 подробное описание property.
property-functions
Ali: property
Смысл @property - избавиться от скобок в вызове. Если не указываете этот атрибут, то компилятор не гарантирует, что правильно вас поймёт, и сможет заменить, например, операцию присваивания
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct S
{
    int m_x;
    @property
    {
        int x() { return m_x; }
        int x(int newx) { return m_x = newx; }
        ...
    }
}
void main()
{
    S s;
    s.x;        // lowered to s.x()
    s.x = 3;    // lowered to s.x(3)
помоему так
Я пока не вижу, что на этом можно построить, что то фундаментально полезное. Поэтому предлагаю перейти к следущей теме по D.
1
17.02.2015, 02:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2015, 02:46
Помогаю со студенческими работами здесь

Не открываются элементы со значком щит
Не очень хорошо разбираюсь в компьютерах, просто пользователь, недавно установил Windows 7. ...

расписать функцию со значком сигмы
КАК РАСПИСАТЬ ТАКУЮ ФУНКЦИЮ? СКРИН В АТТАЧЕ Я ДУМАЮ МОЖЕТ ТАК? double t(double x){ double rez...

Управление значком программы в панели пуск
Здравствуйте, подскажите как можно сделать управление программой с помощью значка в панели пуск....

Рабочий стол-все ярлыки с значком Opera
У меня на рабочем столе все ярлыки, кроме корзины и мой компьютер стали ярлыками с картинкой Оpera...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru