|
"経過時間"の判断方法の穴に落ちるべからず |
|
コード最適化とは違うネタです。すみません。さて。 |
|
List1 |
DWORD nEnd = ::GetTickCount() + 60000; // 処理開始から60秒後のシステムカウンタを求める
while(true){
Retry(); // ←適当な処理
DWORD n = ::GetTickCount(); // 現在のシステムカウンタを取得して、
if( n >= nEnd ) break; // 60秒以上経過してたら抜ける
}
|
|
このリスト1にはミスが潜んでいることは気づくでしょうか? |
|
List2 |
DWORD nBegin = ::GetTickCount(); // 処理開始のシステムカウンタを保持
while(true){
Retry(); // ←適当な処理
DWORD n = ::GetTickCount() - nBegin; // 処理開始から現在までの経過時間を求める
if( n >= 60000 ) break; // 60秒以上経過してたら抜ける
}
|
|
大事なのは、 |
|
前のページ 空関数の実体はヘッダに書くべし |
コンテンツのトップ |
次のページ メンバ変数の並びを考慮すべし |




