天天看點

C語言和設計模式(1.4單件模式)

    單件模式算不上什麼設計模式。最多也就是個技巧。

typedef struct _Computer {
    int type;
} Computer;

void *get_computer( void )
{
    static Computer *computer = NULL;
    if ( NULL != computer )
        return computer;
    computer = ( Computer * )malloc( sizeof( Computer ) );
    assert( NULL != computer );
    return ( void * )computer;
}
           

    主函數如下:

int main( void )
{
    Computer *a_computer = get_computer();
    a_computer->type = 1;
    Computer *b_computer = get_computer();
    if ( b_computer != NULL ) {
        printf( "%s %d %d\r\n", __FILE__, __LINE__, b_computer->type );
        free( b_computer );
        b_computer = NULL;
    }
}
           

繼續閱讀