Можно ли в c ++ 17 выполнять метапрограммирование шаблонов, чтобы каким-то образом определить, было ли «this» частью группы захвата? Или во время выполнения?
У меня есть класс A, который принимает лямбда для последующего вызова. Однако, если объект B, владеющий A, улавливает «this» в лямбде, который он дает A, это может вызвать тонкое использование после освобождения. Возможность взломать sh в этом сценарии была бы полезной.
Я знаю, что их не будет 100% (например, пользователь может записать это как «a = this» или «b = (void *)этот"). Я также не ожидаю, что смогу зафиксировать все проблемы (например, если я зафиксирую ссылку на переменную-член). Я просто хочу добавить уверенности в заведомо неправильном сценарии ios