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

реализация ThreadSafe функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ написание программ http://www.cyberforum.ru/cpp-beginners/thread928097.html
В С++ программы пишутся так же, как в делфи типа с сбрасыванием компонентов на форму с события свойствами в инспекторе объектов или по другому ?
C++ Форматирование текста всем привет. Дан текстовый файл, который содержит строки различной длины. Создайте новый файл, в котором сохраните исходный текст в отформатированном виде, т.е. в тексте не должно быть строк длиной, превышающей заданную, правый край текста должен быть выровнен за счет равномерного увеличения промежутков между словами. Разбивать строки разрешается только по концам слов. http://www.cyberforum.ru/cpp-beginners/thread928068.html
1. Найти наименьшее из чисел а1, 2а2, 3а3,…, 8а8 C++
Найти наименьшее из чисел а1, 2а2, 3а3,…, 8а8
C++ Программа, которая будет издавать звуки при обнаружении заданного числа, чисел, последовательности чисел на страницах браузера.
Здраствуйте, уважаемые форумчане. Обращаюсь к вам за помощью: Мне нужна программа, которая будет издавать звуки при обнаружении заданного мной числа, чисел, последовательности чисел на страницах браузера. Подскажите, пожалуйста, где можно скачать такую программу, или как сделать самому.
C++ обьясните пожалуйста! http://www.cyberforum.ru/cpp-beginners/thread928026.html
1111 = 15 & 1001 = 9 1001 = 9 Результат равен 9. как 1111 = 15? как 1001 = 9?
C++ Шаблонная функция параметры Подскажите, где можно посмотреть перечень возможных команд в шаблонных функциях вроде: template <class InputIterator, class T> typename iterator_traits<InputIterator>::difference_type count (InputIterator first, InputIterator last, const T& val) { typename iterator_traits<InputIterator>::difference_type ret = 0; // Вот это место! ... } .... } подробнее

Показать сообщение отдельно
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,307
24.07.2013, 15:53     реализация ThreadSafe функции
Да лехко! Исключение может быть перехвачено и обработано в коде на несколько уровней выше по иерархии, чем функция dosomeaction(). Грубая схема:

C++
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
29
30
31
32
33
34
35
36
37
38
39
int f1()
{
    try {
        // некие действия....
        f2();
    }
    catch(...)
    {
        // тут как бы очистка....
    }
}
 
 
int f2()
{
    // тут еще куча кода...
    f3();
}
 
int f3()
{
    static CRITICAL_SECTION cs;
    // код инициализации опускаем...
    EnterCriticalSection(&cs);
    dosomeaction();
    LeaveCriticalSection(&cs);
}
 
void dosomeaction()
{
    // куча кода.....
    f4();
}
 
void f4()
{
    // куча кода....
    throw SomeEvil("Babah!");
}
 
Текущее время: 18:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru