Home > 6月, 2009

2009.06.23

gccにおけるstd::tr1::regex

とあるプログラムで,C++からregexを使いたい状況が発生.boostにあるのは知っているけど,出来るだけboostを使わないコーディングをしているので,あれこれ調査していたら,tr1に盛り込まれる予定だったことを思い出す.

Visual Studio 2008 SP1では,tr1のサポートが追加され,すんなりregexが使えるようになっている.コードはこんな感じ.すごく便利.

#include < iostream>
#include < regex>

int main(int argc, char *argv[])
{
    std::tr1::regex rx("abc");
    std::cout
        << "search(\"abcabc\", \"abc\") == "
        << std::boolalpha << regex_search(std::string("abcabc"), rx)
        << std::endl;
    return 0;
}

g++ではtr1のヘッダファイルはtr1というディレクトリに入っているので,<tr1/regex>をインクルードするようにプログラムを変更したら,コンパイルは通るものの,結果がおかしい.上のサンプルコードを動かしたみたら,見事にfalseを返してくれる.

libstdc++のドキュメントを調べて見たら,現状ではtr1のregexはlibstdc++でサポートされていないらしい.この地雷を踏んで余計な時間を使ってしまった.当面はboostと両刀使いで行くしか無いかないが,下手にコンパイルが通るだけに,configureで判別するのが面倒くさい.

2009.06.15

中華そば屋 伊藤

王子のみならず,東京で非常に有名なラーメン屋.ラーメン好きなら,一度は訪問すべきお店だと思います.

中華そば屋 伊藤 肉そば大盛り

あっさりとした魚介系醤油ラーメンで,魚介系のダシが効いたスープが特徴.というか,スープはほとんど魚介ダシの味です.最初に食べたときは,スープはとても美味しいけど,具材がほとんど入っていないので,ちょっと物足りなさをちょっと感じました.しかし,通えば通うほど,あの形が理想的であることに気づきます.あのスープに他の具材を入れるのは,ちょっと考えにくいです.

中華そば屋・伊藤の店内メニューは,チャーシューの有無,麺の大盛り,スープの増量くらいのパラメータしか有りません.麺は少なめなので,小食で無ければ大盛りの方が良いと思います.私のオススメは「肉そば大盛り」です.つゆ増しも惹かれますが,微妙にスープの味が濃く(しょっぱく)なるので,大盛りだけで十分だと思います.ラーメンの写真は,肉そば大盛りです.

王子駅から歩くと15分くらいかかるので,都バスで「豊島四丁目」もしくは「豊島七丁目南」で下車すると,楽にたどり着けます.