タグ

ブックマーク / sscrisk.hatenablog.com (3)

  • オーバーロードに優先順位を付ける - とくにあぶなくないRiSKのブログ

    動機 enable_switch - 複数の重複しうるコンパイル時条件で、SFINAE によるオーバーロードを書くには - ボレロ村上 - ENiyGmaA Code これと同じです。重複する条件があるときにSFINAEだけではめんどうかつDRYじゃないことがあります。スマートな解法がほしいです。 問題 以下はコンパイルエラーになります。int を関数 f へ渡すと二つの関数のオーバーロードを解決できないからです。 #include<type_traits> #include<iostream> extern void* enabler; template<class T, typename std::enable_if<std::is_same<T, int>::value>::type*& = enabler> void f(T&&) { std::cout << "int" << s

    オーバーロードに優先順位を付ける - とくにあぶなくないRiSKのブログ
    rti7743
    rti7743 2011/09/17
    めも
  • ひらがな萌え - とくにあぶなくないRiSKのブログ

    おっと,私はすでに萌えてるので酔っているのと同じでした。すなわち,まともな理性,冷静さが失われていると。これらの文章も酔っぱらった状態で書いているのと変わりないんだ。あーそうか。と1人で納得したところで今日のネタ。 →日刊良スレガイド:よく見るとひらがなってすげえ前衛的な形してるよな これを読んだ当初は「みんなバカだろ」って思ってましたが,今日理解しました。ひらがな萌えす。 「ゆ」を考えたの誰? やばいよ,これ。しかも音もいい。というわけで,今日はすばらしい「外見」と「声」の両面にスポットを当ててひらがなをご紹介いたしましょう。 かわゆい外見 ゆ ふ の い うぉーぃ... やばいよ。やばいよ。これ以上紹介したら私が死んでしまうので次行きます。 かわゆい声 や行(ya,yu,...) う行(u,ku,...) な行(na,ni,...) じゃ,次。両方を伏せ持つRiSKオススメはこの子たち

    ひらがな萌え - とくにあぶなくないRiSKのブログ
  • switch case で文字列を使う - とくにあぶなくないRiSKのブログ

    文字列のハッシュをconstexprで計算できればC++で文字列を使ったswitchができるんだけどなあと思ったけど,mpl::stringならコンパイル時にハッシュ値の計算できたりしないだろうか. 2011-01-14 19:48:06 via P3:PeraPeraPrv 「なるほどー」と思ったので文字列のハッシュを使う実験。 #include<string> #include<iostream> constexpr int hash(char const * s) { return *s ? *s + hash(s + 1) : 0; // 超絶てけとーハッシュ } int main() { for(std::string s; std::cin >> s;) switch(hash(s.c_str())) { case hash("foo"): std::cout << "case

    rti7743
    rti7743 2011/01/15
    これは便利そう!!
  • 1