Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
_mayor
1 / 1 / 0
Регистрация: 29.08.2009
Сообщений: 63
#1

Шаблон RAII замены указателя на функцию - C++

12.09.2009, 10:59. Просмотров 756. Ответов 1
Метки нет (Все метки)

шаблон raii замены указателя на фукнцию

допустим имеется набор указателей на функции разных типов и существует потребность временно, локально подменять функцию в указателе:
C++
1
2
3
pf old=set_pf(&new_func);
// может случиться stack unwind
set_pf(old); // должна по любому выполниться перед выходом из функции
чтобы не писать raii класса для каждого типа фукнции и каждой фукнции подменяющей указаетель, как передать в шаблон фукнцию устанавлиювающую новый указатель и тип указателя?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2009, 10:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблон RAII замены указателя на функцию (C++):

Передача указателя на функцию-член - C++
Всем привет ! Необходимо передать функцию-член в качестве параметра другой функции-члену. Следующий код class Menu { ...

Передача типа указателя на функцию - C++
Всем привет. Недавно в теме начинающих возник вопрос, а можно ли передать тип (указатель на функцию) без использования typedef: ...

Ошибка Access violation при передаче указателя в функцию - C++
выделяю память для нужд програмных и соханяю его. char *resadres =(char*) VirtualAlloc (0, 50000, MEM_COMMIT | MEM_RESERVE,...

Как создать объект оператором new, если имеется только тип указателя на объект, переданный через шаблон? - C++ Builder
Есть шаблон. Точно известно, что его параметр Т это указатель. Как с помощью new создать переменную типа *T ? Код приведенный ниже дает...

RAII: внутри функции и можно ли в ней заменить new? - Visual C++
По наводке Убежденный стал разбираться с RAII, но по мере чтения инфы по сабжу возникают вопросы. Например, как создавать RAII для...

Шаблон указателя на функцию - C++
Надо создать шаблон, который бы генерировал функцию, вызывающую другую функцию, которую я передал ей в шаблоне. Что - то похожее на это,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
_mayor
1 / 1 / 0
Регистрация: 29.08.2009
Сообщений: 63
13.09.2009, 19:11  [ТС] #2
вроде написал:
C++
1
2
3
4
5
6
7
8
9
10
template<class T,T(*getval)(T)> class stct {
    T old;
    public:
    stct(T ff) throw() { 
        old=getval(ff);
        }
    ~stct() throw() { 
        getval(old);
    }
};
используется как:
C++
1
stct<funtion_type,function_set> l(new_function);
есть идеи как избавиться от function_type в вызове, тк он все равно известен через function_set ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2009, 19:11
Привет! Вот еще темы с ответами:

Шаблон указателя на функцию и шаблоны функций - C++
Подскажите пожалуйста, в чём проблема? Не смог разобраться. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include...

Как сделать функцию от указателя на класс и указателя на метод? - C++
Не получается сделать функцию, параметрами которой являются указатель на класс и на метод. Обращаться к классу нужно именно по указателю,...

Написать шаблон умного указателя для массива - C (СИ)
Добрый день уважаемые! Не могу решить 2 задачи! 1. У вас есть многосвязный список‚ заданный следующим образом: struct...

Зачем передавать в функцию X указатель на callback функцию, если последняя ВНЕШНЯЯ и вызовется БЕЗО ВСЯКОГО УКАЗАТЕЛЯ? - C++
Собсно. То есть ребята, вот пример отсюда: http://www.cplusplus.com/reference/algorithm/count_if/ // count_if example #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru