rge(vs); } ///:- Алгоритм for_
Автор admin Вторник, 26 мая 2009 11:32
rge(vs); } ///:- Алгоритм for_each() передает каждый элемент интервала объекту функции, определяемому третьим аргументом. Здесь нам нужно, чтобы объект функции представлял одну из функций класса, поэтому «аргумент» объекта функции становится указателем на объект для вызова функции. Для получения такого объекта используется шаблон mem_fun(), в аргументе которого передается указатель на функцию класса. Функция mem_fun() создает объекты функций; их вызов производится через указатель на объект, функция которого вызывается, тогда как при использовании mem_fun_ref() функция вызывается непосредственно для объекта. Один набор перегруженных версий mem_fun() и mem_fun_ref() предназначен для функций с нулем и с одним аргументом, причем их количество увеличивается вдвое для константных и неконстантных функций класса. Тем не менее, шаблоны и перегрузка избавляют вас от всех сложностей выбора нужной версии — вам остается лишь запомнить, в каких случаях используется mem_fun(), а в каких — mem_fun_ref(). Допустим, имеется контейнер объектов (не указателей!), и вы хотите вызвать функцию класса с аргументом, при этом пер
Комментарии закрыты.
Последние комментарии