boost 사용::enableif 와 boost::typetraits 는 템 플 릿 에서 템 플 릿 형식의 인터페이스 에 대한 제한 을 실현 합 니 다.

원본 코드 바로 가기:
#include 
#include 
#include 
#include 

struct IHello
{
	virtual void Hello() = 0;
};

struct CHello:public IHello
{
	virtual void Hello()
	{
		std::cout<
void ShowHello(T* shower)
{
	typedef boost::enable_if<:is_base_of>,IHello>::type HelloType;

	HelloType* hell_shower = shower;

	hell_shower->Hello();
}


int main(int argc,char** argv)
{
	CHello hello;

	ShowHello(&hello);

	//     IHello,       
	NoHello no_hello;
	ShowHello(&no_hello);

	return 0;
}
코드 를 비교적 간단하게 썼 는데 주로 아 이 디 어 를 검증 하기 위해 서 이다.C++는 boost 와 0x 기준 이 있어 점점 강해 지고 있다.
지금 은 디자인 의 중요성 을 점점 느끼 고 있 습 니 다.좋 은 디자인 은 코드 가 간결 함 을 잃 지 않 고 간결 함 을 위해 추가 적 인 부담 을 주지 않 습 니 다.
우리 가 절차 화 된 세계 에 있 을 때 관심 사 를 현실 세계 물건 에 대한 시 뮬 레이 션 에 집중 하지만 절차 에 대한 처리 가 본질 적 인 수요 라 는 것 을 잊 어 버 렸 다.디자인 에 의 해 디자인 되 지 않 고 수요 에 따라 디자인 되 며 대상 을 대상 으로 남용 하 는 것 은 사용 하지 않 는 것 보다 못 하 다.

좋은 웹페이지 즐겨찾기