Enlazar argumentos adicionales
If you use one signal handler to catch the same signal from several widgets, you might like that signal handler to receive some extra information. For instance, you might want to know which button was clicked. You can do this with sigc::bind(). Here's some code from the helloworld2 example.
m_button1.signal_clicked().connect( sigc::bind<Glib::ustring>( sigc::mem_fun(*this, &HelloWorld::on_button_clicked), "button 1") );
virtual void on_button_clicked(Glib::ustring data);
sigc::bind() no se usa comúnmente, pero a veces la encontrará útil. Si está familiarizado con programación en GTK+, entonces probablemente ya haya notado que esto es similar a los argumentos gpointer data adicionales que todos los retornos de llamada de GTK+ tienen. Generalmente se abusa de esto en GTK+ para pasar información que debe almacenarse como datos miembros en un widget derivado, pero la derivación de widgets es muy difícil en C. Hay mucha menos necesidad de este «hack» en gtkmm.