Glad I could be of help. As for your conclusion, keep in mind that sending an ID of the element requires you to also pass the container that this ID refers to! Otherwise the function won't know what to do with that ID. Whether that ID is an iterator or index value doesn't matter in this regard - neither have an inherent knowledge of the container they refer to. If the container is class scope, and you pass an ID to a class member function, that would work. But from a design view, doing so would still be questionable as the function actually shouldn't need to care about the rest of the container - you have introduced an unnecessary dependency. If at some point you realize you want to use that same function for elements not related to this class, you cannot easily do it, due to that dependency.