Tag: C++

Before

どこかで書き間違ってしまいそうな危ういコード

m_fnSetCommInfo = reinterpret_cast< FnCommSetCommInfo >(
    ::GetProcAddress( m_hLibrary, "SetCommInfo" ) );
m_fnEditEvent = reinterpret_cast< FnCommEditEvent >(
    ::GetProcAddress( m_hLibrary, "EditEvent" ) );
m_fnMoveEvent = reinterpret_cast< FnCommMoveEvent >(
    ::GetProcAddress( m_hLibrary, "MoveEvent" ) );
// ...以降同じようなのが数十行

After

すっきり!

#define LOAD_FUNCTION(name) \
    m_fn##name = reinterpret_cast< FnComm##name >( \
        ::GetProcAddress( m_hLibrary, #name ) );

    LOAD_FUNCTION( SetCommInfo );
    LOAD_FUNCTION( EditEvent );
    LOAD_FUNCTION( MoveEvent );
    // ... 以下略

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-01-24 (日) 13:26:41 (224d)