Обработка сигнала C ++ libsigc ++ с помощью лямбда-функции

Я работаю над некоторым кодом C ++, который использует libsigc ++ для сигнализации (обработки событий).

Я новичок в C ++, и я склонен думать на C #. Код, эквивалентный тому, что я хочу на C #, будет примерно таким:

var names = new List();
thing.Happened += (string name) => names.Add(name);
thing.DoStuff();

учебники libsigc ++ хорошо показывают, как привязать функцию или член к сигналу, но я не Я хочу определить новый метод уровня класса для такого простого метода, который действительно должен быть инкапсулирован в частном порядке внутри своего клиента, по крайней мере, на мой взгляд.

API libsigc ++, похоже, поддерживает лямбда-выражения, но я не нашел ни одного примеры, показывающие, как их использовать. Кто-нибудь может мне помочь? Помните, что я новичок в C ++!

8
задан murrayc 31 July 2015 в 07:17
поделиться