【问题标题】:Objects in container容器中的对象
【发布时间】:2016-09-20 23:38:59
【问题描述】:

我正在创建一个名为“family”的容器类,它跟踪一个家庭中的所有人,有两个要求。

首先,我应该有一个数据元素来跟踪正在使用的对象的数量。

其次,我应该有一个函数来报告数组中的有效元素。

我不确定这两者有什么区别。

据我了解,对于第一个要求,我可以创建一个计数器并在每次成功将数据加载到数组时增加该计数器,对吗?如果是这样,那为什么我需要另一个函数来跟踪有效元素?他们不都一样吗?

谢谢。

【问题讨论】:

  • 什么是有效元素
  • 您是否尝试过使用现有的容器类而不是创建一个新的容器类,例如std::vectorstd::map
  • 为什么需要知道一个对象是否正在使用?您是否在多线程或多任务环境中运行?
  • 听起来像,闻起来像,一个很好的数据库应用程序。
  • 家庭中的人死后是不是没有人使用?我不明白需要“使用中”标志。在互联网上搜索“mutex”和“semaphore”。

标签: c++ object containers


【解决方案1】:

如果您让 数据库 处理您的数据,很多问题都可以得到解决。数据库已经包含锁定机制,并且可以设置一些机制来跟踪对给定记录的写入和读取次数。

我强烈建议不要开发自己的容器。您不仅需要花时间开发(编写自己的容器),还需要花时间调试它。数据库和现有容器已经调试过了。

我建议至少有两个容器。第一个容器中包含所有对象。其他容器是“键,记录指针”形式的索引。这样可以更快地搜索记录,并且您不需要更改第一个容器的顺序(也就是没有排序)。

对象应该包含您的数据,并且可能希望包含其他属性,例如读取计数器、写入计数器和“锁定”。您不希望两个实体同时更新同一记录或一个延迟更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多