![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
![]()
Работаю с физическим движком, там есть типы соединений:
Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Это называется приведение типов. Пишется <имя типа>(Переменная) - значение этой переменной преобразовывается в тип <имя типа> В случае с pinjoint:=pointer(constraint); Имеется ввиду что constraint содержит значение, которое должно быть распознано как указатель.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 | |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Ты точно ничего не попутал? Может там есть другая переменка с таким же названием? Впрочим если не ошибаюсь это хитропопый вариант получения значения klass Эквивалентен constraint.klass, хотя и глупо выглядит.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 | |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
![]() Цитата:
Вот если интересно посмотреть модуль: Последний раз редактировалось Вадим Буренков; 18.08.2010 в 16:38. |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
так будет понятнее?
Код:
это только указание транслятору считать что значение имеет такой тип и все.
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
да... Писал явный любитель указателей. Чувствуется Сишная школа...
Цитата:
посмотри модуль - там constraint - параметр-переменная указателя, зачем ее было нужно жестко к указателю приводить коль она указатель итак?
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
![]()
На небольшом примере тоже работает:
Код:
|
![]() |
![]() |
![]() |
#9 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
new(pin); - Зарезервировали память
pin.data:=5; - Внесли в ячейку значение con:=@pin.constraint; - Присвоили указатель еще одной переменке на ту же ячейку pin:=nil; - Переменную отцепили от ячейки памяти Значение в памяти сохранилось! pin:=pointer(con); - Записали в переменную ранее сохраненный адрес на ячейку form1.Caption:=inttostr(pin.data); И конечно же все работает Ты же сохранил @pin.constraint; в переменку con. С этого момента у тебя на эту ячейку памяти где лежит 5 два якоря - pin и con. Обниление одного из них не приведет к потере ссылок на ячейку, вторая же все еще содержит этот адрес А потом ты обнилинной переменке pin присваиваешь то что содержится в con (а их содержимое - адрес одинаков был до pin:=NIL) Потому pin восстанавливается за счет con Кстати. Перепиши Код:
I'm learning to live...
Последний раз редактировалось Stilet; 18.08.2010 в 17:13. |
![]() |
![]() |
![]() |
#10 | ||
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
![]() Цитата:
Сейчас посмотрел и правда pin и con выдают один и тот же адрес. А я то думал указатели по другому работают ![]() Цитата:
Последний раз редактировалось Вадим Буренков; 18.08.2010 в 17:23. |
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
непонятный скрипт | osven | JavaScript, Ajax | 0 | 07.02.2010 06:13 |
непонятный баг | brain-bras | Общие вопросы C/C++ | 4 | 14.10.2009 21:26 |
Непонятный синтаксис. | jojahti | Общие вопросы C/C++ | 10 | 14.10.2009 19:05 |
непонятный компилятор | Waleriy | Общие вопросы по Java, Java SE, Kotlin | 2 | 11.12.2008 14:16 |
непонятный код | Kostua | Помощь студентам | 5 | 27.04.2008 18:17 |