タグ

macroに関するrydotのブックマーク (3)

  • 本の虫: BOOST_PREVENT_MACRO_SUBSTITUTIONについて

    Appleマクロの恐怖 - Faith and Brave - C++で遊ぼう Appleのクソヘッダーがcheckとかrequireとかverifyなどといった、あまりにも一般的すぎる単語をプリプロセッサーマクロで定義している問題。MSも、あの悪名高いminやmaxマクロを定義している。 最良の解決策は、そんなクソマクロを定義したヘッダーを使わないこと。 ところで、#2115 (Avoid bad Apple macros) – Boost C++ Librariesをみると、BOOST_PREVENT_MACRO_SUBSTITUTIONというものがあり、これを使えば、この問題を解決できるらしい。何と、そんな便利なものがあるのか。早く言ってよね。しかし、なぜか、"Perhaps sadly, I have to agree."と言われている。何故そんなに落ち込んでいるのだろうか。気にな

  • Define and expansion of cpp macro

    Talked at CEDEC 2018, 2018/08/22 - https://2018.cedec.cesa.or.jp/session/detail/s5b559852a6405

    Define and expansion of cpp macro
  • な〜にがStrongTypedefじゃ - デ-mk6

    この記事はC++ Advent Calendar 2012の20日目の記事です. 前の記事 : Boost.Asioによる非同期関数呼び出しと、非同期ノンブロッキングFuture 次の記事 : CEANによる配列操作 導入 ある型に別名を付けるtypedefに対して,ある型を元に新しい型を作る機能をstrong typedefと言います.もちろんC++の仕様としてそのようなものがあるわけではなく,Boost.Serializationにマクロとして実装されているほか,同様のマクロによる実装がいくつかあります. なぜこのようなものが必要かという話ですが,世の中にはグーグル=センセイという実際博識なセンセイがいらっしゃいますので,氏にお尋ねいただくのがよろしいかと思います. ところで,Boost.Serializationにあるstrong typedefには制限があり,適用範囲が組み込み型に

    な〜にがStrongTypedefじゃ - デ-mk6
  • 1