У меня есть класс, который я хочу использовать в разных потоках, и я думаю, что смогу использовать std:: atomic, например:
classs A
{
int x;
public:
A()
{
x=0;
}
void Add()
{
x++;
}
void Sub()
{
x--;
}
};
и в моем коде:
std::atomic<A> a;
и в другом потоке:
a.Add();
и
a.Sub();
но когда я получаю ошибку, что a.Add() неизвестно. Как я могу достичь этого?
Есть ли лучший способ сделать это?
Изменить 1
Обратите внимание, что это примерный пример, и я хочу, чтобы доступ к классу A был потокобезопасным, поэтому я не могу использовать
std::atomic<int> x;
Как я могу создать потоки классов с помощью std:: atomic?