AcDbObjectPointer

Автор Тема: AcDbObjectPointer  (Прочитано 6015 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн DimVerАвтор темы

  • ADN OPEN
  • Сообщений: 32
  • Карма: 2
AcDbObjectPointer
« : 19-04-2022, 19:29:40 »
AcDbObjectPointer<AcDbAttributeDefinition>
Добрый день, подскажите пожалуйста смысл следующего кода: AcDbObjectPointer<AcDbAttributeDefinition>, AcDbObjectPointer<AcDbAttribute>

В официальном хелпе нашёл информацию:
template <class T_OBJECT>
class AcDbObjectPointer : public AcDbObjectPointerBase<T_OBJECT>;

This class allows you to access any AcDbObject-based object given its object ID.

Перевод понятен, смысл нет)



Отмечено как Решение DimVer 20-04-2022, 11:10:56

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AcDbObjectPointer
« Ответ #1 : 19-04-2022, 22:52:29 »
Это так называемый интеллектуальный указатель. Огромная польза его в том, что если программист забудет выполнить метод close() для этого объекта - этот метод будет вызван автоматически при выходе из "области видимости" переменной. Т.е. не позднее, чем в конце функции (или при выходе по return из любого места функции) объект будет закрыт.
Напоминаю, что не закрытие открытого для записи объекта/примитива в 99% случаев приводит к аварийному завершению AutoCAD.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение