再来看一个例子
#include <stdlib.h>
#include <iostream>
#include <string>
#include "sigslot.h"
using namespace std;
using namespace g::stl;
static int i = 0;
struct Item
{
//signal10 实质就是在构造和析构的时候调用之
Signal0 sig;
Item()
{
i = 1;
cout<<"init item"<<endl;
cout<<"i is: "<<i<<endl;
}
void Check()
{
sig.emit();
cout<<"call me. "<<i++<<endl;
}
~Item()
{
cout<<"exit item .."<<endl;
cout<<"i is: "<<i<<endl;
}
};
struct Window : public SlotHolder
{
void Get()
{
}
};
int main()
{
Item item;
Window window;
item.sig.connect(&window, &Window::Get);
item.Check();
item.sig.disconnect(&window);
item.Check();
_sleep(3456);
return 0;
}