合规的有状态分配器是否可以与其旧副本不同?

Pet*_*lák 5 c++ allocator dynamic-memory-allocation c++11

标准规定,在移动和重新绑定方面,分配器必须与其副本相同。但是,在调用其成员函数之后(例如分配值之后),它是否会变得与之前的状态不相等?也就是说,这可能是一个合规的分配器吗?

auto allocator_copy = allocator;
std::cout << (allocator == allocator_copy) << std::endl;  // Outputs "1", as prescribed by the standard.
allocator.allocate(1);
std::cout << (allocator == allocator_copy) << std::endl;  // Outputs "0";
Run Code Online (Sandbox Code Playgroud)