利用shared_ptr:
#include<iostream>
#include<vector>
#include<string>
#include<boost/bind.hpp>
#include<boost/smart_ptr.hpp>
using namespace std;
using namespace boost;
int fun(int x,int y){return x+y;}
class sample{
private:
class impl;
shared_ptr<impl> p;
public:
sample();
void print();
};
class sample::impl{
public:
void print(){
cout<<"impl print"<<endl;
}
};
sample::sample():p(new impl){}
void sample::print(){p->print();}
int main(){
sample s;
s.print();
return 0;
}