не совсем корректный вопрос...
там несколько другой подход...
есть объект signal;
есть объект-обработчик, т.е. то, что мы коннектим к signal
в реализации(внутри) он, конечно, signal создает объект slot, но это происходит прозрачно для пользователя,
т.е. для Вас есть только signal и объект-обработчик (и никаких slot)
объекту signal передается объект-обработчик
но даже если передается адрес функции это соединение тоже можно отключить, а именно:
при создание связи "signal"-"slot" возвращает объект connection, при этом есть два варианта: соединение живет до уничтожения объекта connection или дольше, рекоммендую взглянуть в реализацию boost::signals:
www.boost.org
пример:
// hello : скажем — функция void hello();
signal<void ()> sig;
{
scoped_connection c = sig.connect(hello);
}// соединение убъется при выходе из блока
{
connection c = sig.connect(hello);
}// соединение не убъется при выходе из блока
// присваивать к connection, конечно, не обязательно, но в этом случае
// разрыв произойдет только при уничтожениии sig
// при этом объект-обработчик может быть назначен различным сигналам