gpt4 book ai didi

C++ 类中的静态 vector

转载 作者:行者123 更新时间:2023-11-28 05:09:04 24 4
gpt4 key购买 nike

我正在研究一个限制订单系统,作为我计算机科学类(class)的一个项目,我想知道最好的做法是在我的订单类中使用静态 vector 来包含我的所有订单,还是我应该把它放在我的主程序?我仍在努力解决所有问题,但基本上哪一个更好,或者我应该探索另一种完全不同的方法:

class Order {
public:
static vector<Order> orders; //should this be private instead?
}

int main(){
vector<Order> orders; //should I just pass this to my methods?

}

最佳答案

决定对象的静态列表是否有意义,以及哪个类应该保存这些对象可能取决于人们为什么以及如何使用对象列表。因此,无需对用例进行更具体的说明,像“做”或“不做”这样的明确答案可能是基于意见的。

由于缺少用例,以下内容并不意味着作为答案。但让我与您分享一些想法:

我建议表达列表的含义/目的,例如通过有意义地命名变量。这可能是 openOrdersallOrderObjectssharedOrders

结合含义,您可能应该隐藏使用vector 的实现细节。尤其是您甚至将 vector 公开给公众,这使得很难确保整个程序的含义。例如,如果意思是 openOrders,谁能阻止某人向列表中添加关闭订单?

所以我会隐藏 vector (将其设为私有(private)或至少 protected );添加“控制”——限制访问的函数,将这些函数命名为目的明确,并限制对列表的访问,以确保含义正确。

根据含义,您还可以重新考虑数据结构vector。也许 map 更合适,例如如果订单具有唯一的真实世界标识符,例如与您的客户共享的订单号,并且如果您希望确保不会两次创建具有相同订单号的对象...

让我在这里停下来。也许您会从社区获得更多想法。

但我认为主要问题是:弄清楚列表的含义/目的。

关于C++ 类中的静态 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43901959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com