|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: Функции имеют право изменять содержимое глобальных переменных? | |||
Да | 39 | 86.67% | |
Нет | 4 | 8.89% | |
Не знаю | 2 | 4.44% | |
Голосовавшие: 45. Вы ещё не голосовали в этом опросе |
|
|
Опции темы | Поиск в этой теме |
14.04.2010, 15:43 | #61 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Код:
А если не догадаешся - открой CPU отладчик и посмотри.
I'm learning to live...
|
|
15.04.2010, 12:07 | #62 |
Форумчанин
Регистрация: 02.04.2010
Сообщений: 104
|
Милок t:q в параметрах процедуры и есть ничто иное как длинный указатель на массив q, так что здесь, естественно не протече ...
Если есть желание посмотреть как происходит , включи опцию компилятора генерить ASM листинг. Существует некая функция возвращающая значение переменной по ее имени, но только в том случае, если тот кто запросил переменную имеет на это право. Любая функция всегда является ничем иным , как указателем на свое имя... получается ссылка на адрес где содержится указатель массива или переменной. Из пожеланий : неплохо бы в компиляторе иметь 2 режима компиляции и интерпритации. Последний раз редактировалось Stilet; 15.04.2010 в 12:45. |
15.04.2010, 12:37 | #63 | ||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Переменные содержится в специальном хранилище, а это экземпляр класса и доступ к его полям исключительно через его методы и никак иначе.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
||
15.04.2010, 12:47 | #64 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Во-вторых: ты сам же себя опровергнул словами "естественно не протече" Вывод: Ты тролль.
I'm learning to live...
|
|
15.04.2010, 16:02 | #65 |
Форумчанин
Регистрация: 02.04.2010
Сообщений: 104
|
Вот простейший пример того о чем я хотел сказать
исходный си-код заремлен ; на нем четко видно что реальная программа работает с указателем byte ptr DGROUP:, а для пользователей си сделан внизу небольшой преобразователь значение для public имен переменных. Придумал это не я, это делает компилятор BC31, так что господа программисты все претензии ,если что не так к BORLAND. Код:
Последний раз редактировалось Stilet; 15.04.2010 в 16:20. |
15.04.2010, 16:08 | #66 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
В том то и дело, что это простейший пример. А в данном случае? Как программа работает с полями экземпляров классов? Тем более в Дельфи?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
15.04.2010, 16:29 | #67 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
15.04.2010, 16:49 | #68 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Цитата:
Допустим есть такой класс: Код:
Не понимаю правда как наличие указателей на низком уровне влечет за собой необходимость в них на высоком. Так же не вижу причин в утечках памяти и обязательности копирования огромных массивов на каждый чих при отсутствии указателей в языке программирования. Взять те же делфи, в ООП нет необходимости в использовании указателей. В C# указателей нет (если конечно их спецом не подключить), но объекты не копируются, т.к. передаются по умолчанию по ссылке. Да и скорость копирования зависит от реализации. Если грамотную "выделялку" памяти написать + сборщик мусора + какие-то оптимизации, то программа может работать не медленнее С++, а может и быстрее. ООП (создание экземпляров классов, доступ к методам,...) в C#, судя по всяким тестам, работает быстрее, чем в С++. |
|
15.04.2010, 17:44 | #69 |
Форумчанин Подтвердите свой е-майл
Регистрация: 31.03.2008
Сообщений: 179
|
Код:
|
16.04.2010, 07:27 | #70 | |
Форумчанин
Регистрация: 02.04.2010
Сообщений: 104
|
Цитата:
1. переменные , массивы , функции , структуры, классы языков высокого уровня являются указателями на низком уровне. 2. если перменная невидима в данной функции или классе доступ к ней можно организовать через длинный asm указатель на ассемлерной вставке, необходимо только помнить, что на ассемблере она будет иметь имя с _ впереди например name , будет _name, а name[3] будет _name + 3. Перед именем должны следовать размерность byte (или word , dword) и далее символ указателя ptr ... |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
присвоить из бд переменным | akimov_aleks | БД в Delphi | 6 | 07.04.2010 08:24 |
Построение графиков функций С++ (методы аппроксимации функций) | amdbodia | Общие вопросы C/C++ | 0 | 24.05.2009 15:28 |
использование функций в качестве параметров других функций | mono | Помощь студентам | 0 | 20.04.2009 18:25 |
проблема с глобальным объектом | Selebro | Общие вопросы C/C++ | 3 | 26.11.2008 20:22 |
Доступ к переменным | RealSHELS | Общие вопросы Delphi | 4 | 15.06.2008 13:14 |