乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: pkohut

[编程交流] AcD bSymbol Tab leIterator和shared_ptr(scoped_ptr)

[复制链接]

27

主题

193

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
300
发表于 2010-2-21 21:09:40 | 显示全部楼层
文档是错误的;在迭代集合时不必保持集合处于打开状态。在某些情况下,这可能是一个好主意(即,当您需要阻止更改直到迭代完成时),我怀疑这就是语句的起源。
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-2-21 21:10:16 | 显示全部楼层

谢谢丹。
您是在从旧的arxref文档中阅读这篇文章吗?
这是关于2010年arxref上的AcDbLayerTable
从来没有任何问题,在我之前使用关闭表的所有情况下-是的,在删除迭代器后我发现了一些关闭表的代码。
我当时的理解是,一旦您打开表进行读取,并将指针指向您的迭代器,表就可以关闭,不再需要了。
回复

使用道具 举报

27

主题

193

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
300
发表于 2010-2-21 21:14:59 | 显示全部楼层

查看ARX开发人员指南“迭代器”。
回复

使用道具 举报

15

主题

190

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
250
发表于 2010-2-21 21:29:20 | 显示全部楼层
修改了下面的代码以阐明意图。
啊,说得好!我假设(我可能错了)指针总是空的,否则newIterator()函数怎么知道返回什么状态呢?也就是说,要么Autodesk已覆盖new以在失败时返回NULL,要么抛出std::bad_alloc。?。?。在类似这样的事情中代码4]
如果es不是Acad::eOk,则无法保证pIter会是什么,因此最好不要针对观察到的行为进行编程。当将来发生变化和/或编译器优化改变了观察到的行为时,这些bug可能会成为追踪的噩梦。
回复

使用道具 举报

27

主题

193

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
300
发表于 2010-2-21 21:31:12 | 显示全部楼层

查看 ARX 开发人员指南“迭代器”。

谢谢保罗。
是的,它也在旧的arxref的文档中声明,它甚至有一个指向代码示例的链接。
我学会了自己动手 - 不太相信那里提供的示例代码 - 并且更喜欢自己尝试错误。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 01:28 , Processed in 0.159790 second(s), 60 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表