Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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


Ïà¹ØÎĵµ£º

C++ÖÐextern ¡°C¡±º¬ÒåÉî²ã̽Ë÷

1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã(±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏó”)£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾¹Ê ......

C\C++Ïà¹ØÎÊÌâÕûÀí£¨1£©

Ëæ»úÉú³ÉÕûÊý£¬È»ºóËã³öÕý¸ºÁã
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[])
{
    ......

VIM+GDB linux c/c++ µÄ±à³ÌÀûÆ÷

Ô­ÎÄ£º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µÄ¼¯³Éµ÷ÊÔ»·¾³µÄ ......

¡¾C/C++¡¿C++ÖÐÀà·ÃÎÊȨÏÞ¿ØÖÆ


µÚÒ»£ºprivate, public, protected ·ÃÎʱêºÅµÄ·ÃÎÊ·¶Î§£¬ÔÚûÓм̳еÄÇé¿öÏ£º
private£º
Ö»ÄÜÓÉ
1.¸ÃÀàÖеĺ¯Êý¡¢2.ÆäÓÑÔªº¯Êý·ÃÎÊ¡£
²»Äܱ»ÈÎºÎÆäËû·ÃÎÊ£¬¸ÃÀàµÄ¶ÔÏóÒ²²»ÄÜ·ÃÎÊ¡£
protected£º
¿ÉÒÔ±»1.¸ÃÀàÖеĺ¯Êý¡¢2.×ÓÀàµÄº¯Êý¡¢ÒÔ¼°3.ÆäÓÑÔªº¯Êý·ÃÎÊ¡£
µ«²»Äܱ»¸ÃÀàµÄ¶ÔÏó·ÃÎÊ¡£
public£º
¿ÉÒÔ±»1.¸ÃÀàÖе ......

¡¾C/C++¡¿×᳣ܽÓõĺ¯Êýµ÷ÓÃÔ¼¶¨

Ò»¡¢º¯Êýµ÷ÓõĻù±¾²½Öè
º¯Êýµ÷ÓôóÖ°üÀ¨ÒÔϼ¸¸ö²½Öè¡£
£¨1£©²ÎÊýÈëÕ»£º½«²ÎÊý´ÓÓÒÏò×óÒÀ´ÎѹÈëϵͳջÖС£
£¨2£©·µ»ØµØÖ·ÈëÕ»£º½«µ±Ç°´úÂëÇøµ÷ÓÃÖ¸ÁîµÄÏÂÒ»ÌõÖ¸ÁîµØÖ·Ñ¹ÈëÕ»ÖУ¬¹©º¯Êý·µ»ØÊ±¼ÌÐøÖ´ÐС£
£¨3£©´úÂëÇøÌø×ª£º´¦ÀíÆ÷´Óµ±Ç°´úÂëÇøÌø×ªµ½±»µ÷Óú¯ÊýµÄÈë¿Ú´¦¡£
£¨4£©Õ»Ö¡µ÷Õû£º¾ßÌå°üÀ¨£º
±£´æµ±Ç°Õ»Ö¡×´Ì¬ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ