2
|
danio Kouga · 技术社区 · 14 年前 |
![]() |
1
9
宏(define)总是全局定义的。 这意味着每次使用“string”ptr(甚至是变量)都将被宏替换。 typedef可以放在类中、命名空间中……所以你可以更好地控制它。 编辑: 另一个优点是您可以在不同的类中拥有不同的ptr类型,例如
如果这些类随后在模板化代码中使用,则可以使用t::ptr作为指向该类的指针类型,模板将使用最适合该类的指针。 |
![]() |
2
2
定义的缺点已经在整个Web上被广泛讨论。例如,它将与另一个命名空间中的ptr冲突:
如果输入boost::shared\ptr真的很烦人,你可以
另一件事我可以建议你是一系列的typedef。在我的公司中,有一个约定,myClassptr是一个typedef,用于boost::shared_ptr。 |
![]() |
3
2
是的,差不多。好吧,不是为了拯救 打字 从本质上说,这是为了改善 可读性 . 但我认为这就是你的意思。 比较一下,看看你喜欢什么。除了注意宏和名称空间混乱的问题之外,没有正确的答案。
|
![]() |
Andre · Boost日志琐碎自动刷新 6 年前 |
![]() |
Vitor · 如何使用boost::bind追加参数? 6 年前 |
![]() |
slepasteur · 提高MSM编译速度 6 年前 |
![]() |
werk jlcv · 如何快速删除数百万个文件 6 年前 |
![]() |
hromer · 我的Boost正则表达式与任何内容都不匹配 6 年前 |
![]() |
user997112 · 使用互斥量和条件变量跨内存提升进程间共享向量 6 年前 |