类中有一个2000长度的数组,需要调用外部函数来改变他的值,但是把数组定义成static貌似不太行,又没有其他方法
1.类内部的数组,为什么需要调用外部函数来改变他的值。不应该是类内部提供一个函数改变吗?
2000个数组中的内容要是通用的,定义成static倒是可以。按照楼主的描述,定义成static只是为了方便外部函数调用,那么就不建议定义成static。
其他方法: 在类中接收外部参数,根据参数在类内部改变你定义的数组。之后把结果返回。 或者以回调函数的方式返回一个借口对象。
static 是什么原因不行
是类中调用外部函数吗?那不可以把数组作为参数传过去吗?
建议通过类内公开接口,给到外部,外部具体去实现,进行数据修改。但是这样有内存泄露的风险,因为相当于这个类内持有了外部类的引用。
话说,这个最佳的解决方案应该是,把数据公开为modem模块,modem模块对于这些类A、类B提供共用的单例调用,至于modem内部是如何存储、访问、修改数据,这是modem的设计。