Re: Константность аргументов в функции
От: rg45 СССР  
Дата: 07.03.19 14:50
Оценка:
Здравствуйте, koenjihyakkei, Вы писали:

K>Привет!

K>Есть примерно такая функция(реальная больше):
K>
K>void DoWork(Obj* obj, int num, void (*func)(Obj*))
K>{
K>    func(obj->GetChild());
K>}
K>

K>Она будет вызываться как для константного obj, так и нет.
K>Так вот вопрос: можно ли это сделать без перегрузки функции? Не хочется дублировать код.


Шаблонный вариант не подойдет? Оно заодно даст возможность использовать функциональные объекты и лябмды:

https://ideone.com/dHJdbp

template <typename F>
void DoWork(Obj* obj, int num, F&& func)
{
    func(obj->GetChild());
}
--
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.