相关疑难解决方法(0)

为结构的每个实例生成顺序ID

我正在写一个系统,我有一个Objects 的集合,每个Object都有一个唯一的整数ID.这是我在C++中如何做到这一点:

class Object {
public:
  Object(): id_(nextId_++) { }

private:
  int id_;
  static int nextId_;
}

int Object::nextId_ = 1;
Run Code Online (Sandbox Code Playgroud)

这显然不是thread_safe,但如果我想要它,我可以创建nextId_一个std::atomic_int,或者在nextId_++表达式周围包装一个互斥.

我怎么做(最好是安全的)Rust呢?没有静态struct成员,全局可变变量也不安全.我总是可以nextId进入new函数,但是这些对象将被分配到很多地方,我宁愿nextId不管这个数字和yon.思考?

rust

7
推荐指数
2
解决办法
850
查看次数

标签 统计

rust ×1