C++½Ó¿ÚÓëʵÏÖ·ÖÀëµÄ2ÖÖ·½·¨ (C/C++)
·½·¨Ò»£ºÊ¹ÓÃÁíÒ»¸öʵÏÖÀà·Ö×°ÀàµÄ˽ÓгÉÔ±ºÍº¯Êý£¬ÕâÖÖ·½·¨³ÆÎªPimpl·½·¨¡£
test.h
#pragma once
#include "shared_ptr.hpp"
class CTest
{
public:
CTest(void);
~CTest(void);
void DoSomething();
private:
class CTestImp;
boost::shared_ptr<CTestImp> pimpl_;
};
test.cpp
#include "Test.h"
#include <iostream>
class CTest::CTestImp
{
private:
CTestImp(CTestImp const &){}
CTestImp & operator=(CTestImp const &){}
public:
CTestImp(){}
void DoSomething();
};
void CTest::CTestImp::DoSomething()
{
// do something.
std::cout<<"Imp class do something."<<std::endl;
}
CTest::CTest(void)
{
boost::shared_ptr<CTestImp> pImp(new CTestImp);
pimpl_ = pImp;
}
CTest::~CTest(void)
{
}
void CTest::DoSomething()
{
pimpl_->DoSomething();
}
·½·¨¶þ£ºÊ¹ÓóéÏóÀàÀ´ÊµÏÖ½Ó¿ÚÓëʵÏֵķÖÀë¡£
x.h
#pragma once
#include <stdio.h>
#include "shared_ptr.hpp"
using namespace boost;
class X
{
public:
virtual void f() = 0;
virtual void g() = 0;
protected:
~X() { printf("~X\n");}
};
shared_ptr<X> createX();
x.cpp
#include "X.h"
#include <stdio.h>
class X_impl: public X
{
private:
X_impl(){};
X_impl(X_impl const &);
X_impl &&n
Ïà¹ØÎĵµ£º
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã(±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏó”)£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾¹Ê ......
Ëæ»úÉú³ÉÕûÊý£¬È»ºóËã³öÕý¸ºÁã
void getrand(int *a, int m)
{
int i;
srand(time(NULL));
for (i=0; i<m; i++)
{
a = rand()-rand();
}
}
int main(int argc, char* argv[])
{
  ......
ÔÎÄ£ºhttp://blog.csdn.net/jackyvan/archive/2010/01/15/5193693.aspx
ÆäʵVIMÒ²ÄܰѱàÒë µ÷ÊÔ¼¯³ÉÔÚÒ»Æð£¬ÏñÊÇÒ»¸öIDEÒ»Ñù¡£
Ê×ÏÈÏÖÔÚVIMµÄÔ´Â룬ÒòΪҪ¼¯³Éµ÷ÊÔ»·¾³µÄ»°ÐèÒªÖØÐ±àÒëVIM²ÅÐУ¬ËùÒÔÎÒÃDz»ÈçÖØÐ°²×°Ò»¸ö¡£
VIMµÄÏÖÔÚµØÖ·£º
http://www.vim.org/sources.php
È»ºóÏÂÔØVIMGDB£¬ÕâÊÇvimµÄ¼¯³Éµ÷ÊÔ»·¾³µÄ ......
µÚÒ»£ºprivate, public, protected ·ÃÎʱêºÅµÄ·ÃÎÊ·¶Î§£¬ÔÚûÓм̳еÄÇé¿öÏ£º
private£º
Ö»ÄÜÓÉ
1.¸ÃÀàÖеĺ¯Êý¡¢2.ÆäÓÑÔªº¯Êý·ÃÎÊ¡£
²»Äܱ»ÈÎºÎÆäËû·ÃÎÊ£¬¸ÃÀàµÄ¶ÔÏóÒ²²»ÄÜ·ÃÎÊ¡£
protected£º
¿ÉÒÔ±»1.¸ÃÀàÖеĺ¯Êý¡¢2.×ÓÀàµÄº¯Êý¡¢ÒÔ¼°3.ÆäÓÑÔªº¯Êý·ÃÎÊ¡£
µ«²»Äܱ»¸ÃÀàµÄ¶ÔÏó·ÃÎÊ¡£
public£º
¿ÉÒÔ±»1.¸ÃÀàÖе ......
Ò»¡¢º¯Êýµ÷ÓõĻù±¾²½Öè
º¯Êýµ÷ÓôóÖ°üÀ¨ÒÔϼ¸¸ö²½Öè¡£
£¨1£©²ÎÊýÈëÕ»£º½«²ÎÊý´ÓÓÒÏò×óÒÀ´ÎѹÈëϵͳջÖС£
£¨2£©·µ»ØµØÖ·ÈëÕ»£º½«µ±Ç°´úÂëÇøµ÷ÓÃÖ¸ÁîµÄÏÂÒ»ÌõÖ¸ÁîµØÖ·Ñ¹ÈëÕ»ÖУ¬¹©º¯Êý·µ»ØÊ±¼ÌÐøÖ´ÐС£
£¨3£©´úÂëÇøÌø×ª£º´¦ÀíÆ÷´Óµ±Ç°´úÂëÇøÌø×ªµ½±»µ÷Óú¯ÊýµÄÈë¿Ú´¦¡£
£¨4£©Õ»Ö¡µ÷Õû£º¾ßÌå°üÀ¨£º
±£´æµ±Ç°Õ»Ö¡×´Ì¬ ......