при выполнении следующего кода:
class A{
public:
int val;
}
class B{
public:
static std::vector<A> list;
}
std::vector<A> B::list;
class C{
public:
void foo(){
A* a = &(B::list.back());
a->val = 2;
pid_t pid = <known pid of a running process> // this process was created by this program using fork() execv()
std::cout << "test 1 "<<a->val << endl;
waitpid(pid ,NULL ,WUNTRACED); // wait for this process to get signal such as SIGSTOP
std::cout << "test 2 "<<a->val << endl;
}
}
результат теста 1 отличается от результата теста 2. что может быть причиной этого?