Let's take another look at a Signal's connect method:
sigc::signal<void,int>::iterator signal<void,int>::connect( const sigc::slot<void,int>& );
Notice that the return value is of type
sigc::signal<void,int>::iterator. This can be
implicitely converted into a sigc::connection which in
turn can be used to control the connection. By keeping a connection object you
can disconnect its associated signal handler using the method
sigc::connection::disconnect().