Using find() The caller code has to be changed vector vi; find(vi.begin(), vi.end(), 5); list ls; find(ls.begin(), ls.end(), "five"); list ls; list::const_iterator b= ls.begin(); find(++b, ls.end(), "five");