class Widget { ... };
vector<Widget> vw;
Widget bestWidget;
vector<Widget>::iterator it =find(vw.begin(), vw.end(), bestWidget);
you should write this
class Widget { ... };
typedef vector<Widget> WidgetContainer;
typedef WidgetContanier::iterator WCIterator;
WidgetContainer vw;
Widget bestWidget;
WCIterator it = find(vw.begin(), vw.end(), bestWidget);
how to fill the data into the containers
int data[numsValues];
vector<int> nums;
nums.insert(nums.begin(), data, data+numsValues);
you can use iterators
vector<int>::iterator insertLoc(nums.begin());
for(int i=0;i<numsValues;++i) {
insertLoc = v.insert(insertLoc, nums[i]);
}
we can replace the loop with a call to copy or assign
copy(data, data+numsValues, insert(nums, nums.begin()));
nums.assign(data, data+numsValues);