2 / 2 / 1
Регистрация: 01.04.2016
Сообщений: 116
|
|||||||||||
1 | |||||||||||
Вызов функции в конце блока22.03.2023, 10:51. Показов 438. Ответов 8
Метки функции c++ (Все метки)
Возможно ли реализовать авто вызов функции в условии, если функция например вернула true?
Например можно ли сделать так, чтобы каждый раз не писать func_end()?
что неудобно да и забыть можно при нескольких вложенных функциях; С помощью макросов, удаётся сделать более менее читабельный вид но всё равно это не то что хотелось бы. Также были мысли по поводу декоратора, но мне кажется будет ещё хуже выглядеть.
0
|
22.03.2023, 10:51 | |
Ответы с готовыми решениями:
8
Вызов функции описание которой находится в конце файла Вызов функции с блока cond Вызов функции когда scroll опустится до нужного блока. Как задать вызов функции при загрузке страницы, но прописывать это в конце страницы? |
Злостный нарушитель
9540 / 5171 / 1181
Регистрация: 12.03.2015
Сообщений: 24,407
|
||||||
22.03.2023, 10:57 | 2 | |||||
0
|
2 / 2 / 1
Регистрация: 01.04.2016
Сообщений: 116
|
|
22.03.2023, 11:06 [ТС] | 3 |
Забыл уточнить, что завершающая функция должна вызываться после а не до.
0
|
Злостный нарушитель
9540 / 5171 / 1181
Регистрация: 12.03.2015
Сообщений: 24,407
|
||||||
22.03.2023, 11:12 | 4 | |||||
0
|
фрилансер
5843 / 5372 / 1102
Регистрация: 11.10.2019
Сообщений: 14,345
|
||||||
22.03.2023, 11:18 | 5 | |||||
с таким макросом прилетит привет от STL контейнеров
по теме:
1
|
2 / 2 / 1
Регистрация: 01.04.2016
Сообщений: 116
|
|||||||||||
22.03.2023, 13:46 [ТС] | 6 | ||||||||||
Тоже не то, func_end() срабатывает сразу, а не в теле условия
0
|
фрилансер
5843 / 5372 / 1102
Регистрация: 11.10.2019
Сообщений: 14,345
|
|
22.03.2023, 13:55 | 7 |
что-то я не понял. Вот это нужно, судя по первому посту
лямбда это обеспечивает Добавлено через 27 секунд или я что-то не понимаю ? Добавлено через 1 минуту такое сравнение не будет работать правильно
0
|
2 / 2 / 1
Регистрация: 01.04.2016
Сообщений: 116
|
||||||
23.03.2023, 09:56 [ТС] | 8 | |||||
В начале наверное не всё уточнил. В общем мне нужно чтобы если вызывалась неизменяемая функция func() с результатом
true, выполнить свой код в блоке проверки её на true (код будет разный) и только после этого кода должна быть вызвана неизменяемая функция func_end(). Неизменяемая в смысле что это функция сторонней библиотеки в которую доступа нет. Названия функций вымышленные, просто для примера. Проверка if ("12345" == t) это иллюстрация что функция что-то делает, а не конкретное действие. В общем мне нужно что-то вроде обёртки условия. По идее можно присобачить try/finnaly или макросы, но мне нужно удобство, т.к. таких блоков может быть 10 со сложной структурой вложения. Можно конечно в лоб писать как в примере ниже, но очень легко потерять вызов func_end() и получить ошибку. Или вызвать не в том месте завершающую функцию.
0
|
фрилансер
5843 / 5372 / 1102
Регистрация: 11.10.2019
Сообщений: 14,345
|
|||||||||||
23.03.2023, 10:17 | 9 | ||||||||||
дык, тут всё просто. Экземпляр класса, в деструкторе которого произойдёт вызов
Добавлено через 5 минут yurakir20, https://onlinegdb.com/Jc6PNt5hB
func_end Добавлено через 1 минуту а повтор такой конструкции наводит на мысль, что func должна возвращать объект, внутри которого будет и результат возврата, и ресурс, и вызов func_end в деструкторе. Тогда всё будет ещё красивше Добавлено через 2 минуты yurakir20, вроде такого
1
|
23.03.2023, 10:17 | |
23.03.2023, 10:17 | |
Помогаю со студенческими работами здесь
9
Протокол MODBUS. Не работает вызов вызов функции из подключенной библиотеки DLL внутри функции purebasic ';' в конце блока метода? Ромбик на конце div-блока Вызов атрибута вначале метода и в конце Вызов блока Вызов блока с контентом Вызов метки из блока else Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |