1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| int main()
{
/* elle fonctionnera avec un vector d'objet constants */
std::vector<Object const> tabConst;
foo(tabConst.begin(); tabConst.end());
/* avec un vector d'objet non constants */
std::vector<Object> tab;
foo(tab.begin(),tab.end());
/* avec une std::list */
std::list<Object /* const */> l;
foo(l.begin(),l.end());
/* avec une pile */
std::stack<Object /* const */> s;
foo(s.begin(),s.end());
/* avec une file */
std::dequeue<Object /* const */> d;
foo(d.begin(),d.end());
/* avec un set (tableau associatif trié dans lequel la clé est l'objet
* lui-même)
*
* les itérateurs récupérés sont automatiquement constant avec
* cette collection
*/
std::set<Object > st;
foo(st.begin(),st.end());
/*...*/
return 0;
} |
Partager