However you maybe just want to use a std::vector<cell_t>
for simplicity? Then you don’t have to check whether you assigned an object’s properties already, you just iterate through a vector of objects. But that’s already going in the direction of a code review anways.
Does your code work now as expected?