小编fva*_*ghe的帖子

返回集合时的权衡

有多种方法可以从C++中的类方法返回项集合.

例如,考虑监听通过连接发送的所有消息的MessageSpy类.客户端可以通过多种方式访问​​消息传递信息.

  1. const CollectionClass MessageSpy :: getMessages()
  2. 迭代器MessageSpy :: begin(),迭代器MessageSpy :: end()
  3. void MessageSpy :: getMessages(OutputIterator)
  4. void MessageSpy :: eachMessage(Functor)
  5. 其他...

每种方法都有其权衡取舍.例如:方法1需要复制整个集合,这对于大型集合来说是昂贵的.虽然方法2使得类看起来像一个不适合视图的集合......

因为我总是在选择最合适的方法,我想知道在考虑这些方法时你会考虑什么权衡/成本?

c++

5
推荐指数
1
解决办法
180
查看次数

标签 统计

c++ ×1