meryngii.neta

今日も新たな"ネタ"を求めて。

属性の使い道

C++0xの属性の使い道で思いついたものを適当に並べる。

  • pod nonpod
    • PODの定義が複雑なので、ユーザが思っている方でなかったらエラーを出すとか。
    • クラスを作るときも指定するときも。
    • static_assert(is_pod::value);でもいいか。
  • restrict
    • C++ではnoalias・restrictはrejectされたけれども、C99には入っている。
    • コンパイラが属性で対応するのはありかも。
    • でも互換性は無い。
  • before(expr) after(expr)
    • 関数が呼び出される前と後に満たされるべき条件を指定する。
    • 確か昔のC++の仕様にあったはず。