パスワードを忘れた? アカウント作成
257180 journal

FragileMoonの日記: 初級C++会話「遺憾に存じます」 2

日記 by FragileMoon

読書をしようと思ってソースを読んでいたら、

#define unlikely(x)     if((x))

という謎のマクロに遭遇。
使っている場面を調べてみると、if文の代替として

unlikely ( /* たぶんないとは思う危険な状況 */ )
{
    // error処理
}

の形で、C/C++を使って「ある事象に対する遺憾の意を表明するための表現」だったみたい。
マクロはできるだけ使いたくないので真似したいとは思わないけれど、これはこれでありなのかな。

こういう表現を集めれば、NHKあたりでC++会話講座が放送できそうな気がする。
C++星に旅行に行ってもだいじょうぶ、みたいな。
番組の第一声は「std::cout << "Hello world!" << std::endl;」あたりで。
締めは「それではまた来週。return 0;」。
もちろんmain()から脱出するためです。

とはいえ、目先の問題は、英会話における "repeat after me." をどう表現するか。
普通に考えればループ作っておいて「continue;」かなぁ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2010年09月22日 13時53分 (#1828670)

    CPUに分岐予測のためのヒントを与える独自拡張キーワードがあるので(「ありそうにない」ほうには分岐しないと予測できる)、それを隠蔽する(他のコンパイラでは単なるif文に置換する)ためにマクロが使われることもあるようです。

typodupeerror

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

読み込み中...