タグ

2013年10月6日のブックマーク (9件)

  • boost::regex での正規表現

    文字クラス 角カッコ([ ])で囲まれた部分は文字クラス表現となります。 角カッコで囲まれた文字は、「そのいずれかにマッチする」という意味になります。 例えば、 abc[ACD]123 という正規表現に対しては、 abcA123 abcC123 abcD123 はマッチしますが、 abcAC123 abcX123 などはマッチしません。 また、文字クラス内ではハイフン(-)を用いて「範囲」を表すことができます。 例えば、 abc[3-8]123 という正規表現に対しては abc3123 abc4123 ... abc8123 がマッチします。 さらに、ハット(^)を用いて「否定」を表すことができます。 例えば、 abc[^A-Z]123 という正規表現は文字クラス部分が「大文字のアルファベット以外」 を表現しているので、 abca123 abc%123 などがマッチしますが、 abcX12

  • C++ で正規表現を使用する - C++ プログラミング

    C++ でも C++11 規格で正規表現が標準サポートされました。 正規表現といえば文字列を効果的に判定・抽出する有名な仕組みなので、Xcode や Visual Studio でもいち早く採用されているので、多くの場面で安心して利用できます。 ただし、正規表現のパターンを書くのに相性の良い raw 文字列は Visual Studio 2012 ではサポートされていないところは残念です。 raw 文字列については raw 文字列を使ってエスケープ文字を省略する に整理してあります。

  • C++文字列 - C++のstring型について調べるも… (凍結)

    文字列にはC言語の文字列charと、C++で定義されているstringクラスがある。 char型文字列は配列と同じ性質を持つ。文字定数のラベルは文字列のアドレスとなり、関数の引数にはポインタを使用する。 例: #include <stdio.h> #include <string.h> out(char *p){ printf("%s\n",p); } main(){ char *a="JSA"; out(a); } stringクラスを使用する場合は #include <string> を指定する。ラベルはオブジェクトであるからchar型のようにポインタに注意する必要がない。 例1: /* cc -lstdc++ b.cpp */ #include <iostream> #include <string> out(string p){ cout << p << endl; } main(

  • Visual C++ 2010 で正規表現 - s-kita’s blog

    Visual C++ 2010でTR1で定義されていた正規表現がstd名前空間に取り込まれて使用できるようになったということで、試してみる。 TR1ということで、使い方はboostとほぼ同じようです。 regex_searchで、正規表現にマッチさせる #include <regex> #include <string> #include <iostream> int main() { std::regex re("[0-9]+"); std::match_results<const char *> results; if (!std::regex_search("xxx123456yyy", results, re, std::regex_constants::match_default)) { return 1; } std::cout << "prefix: " << results

    Visual C++ 2010 で正規表現 - s-kita’s blog
  • 標準Cライブラリの実装

    しばらく忙しくて放置していますが、また春頃になれば、それなりに注力できる可能性があります。もっとも、そのころになれば、JSPカーネルではなく、ASPカーネルに対応することを考えるような気もしますが...。 さて、このたび、このブログで公開しているソースコードのライセンスに関して質問を受けました。このブログは、あくまでも実装レポートで、私が実装中に考えたことや、判断に迷ったことなどを交えながら、記録を残して行けたらと思って始めたものです。現在公開されている内容も、ざっと動作は見ていますが、いろいろバグも指摘されていますし、私自身も過去の記事のバグを見つけています。 そんな感じで、まだ現状では非常に完成度は低いと考えてください。それでもよければ、あくまでも自己責任の下で、自由に利用していただいてかまいません。ただし、(合法・非合法にかかわらず)反社会的または反人道的な用途への利用だけはご遠慮く

  • Product Documentation - NI

    「ビジョン」では、NIがテストとテクノロジの世界で次に何が起こるかをどのように認識しているかについて紹介します。 すべての記事を表示 LabVIEWは、今なおテストで重要な役割を果たしています。NIがコア技術、コミュニティ、統合への投資を行ったことにより、テスト時間の短縮や効率の向上が実現し、新しい機能の提供が可能になりました。

  • C言語ベースでのVISAを用いたプログラミング | 技術系のど根性

    こんばんは! 帰宅したら、にゃんこ達がラグの上に盛大にお醤油をこぼしていて、ちょっとショッキングなゆってぃです。 洗って落ちるとかいう生ぬるいレベルの範囲ではなかったので、泣く泣く処分を決めました。 でもね、これは テーブルの上に醤油を置いておいた僕がいけないんです。 ちゃんとフタは閉めてたのですが、にゃんこは何が起こすかわからないので…(涙) まだ買って数ヶ月しか経ってないのになぁ(T_T) さて、今日は昨日のVISAの続きです。 というほど書く内容もないのですが、大まかな使い方はわかりました。 基的には <接続> → <通信> → <接続終了> という流れのようです。 それでは、さっそくひとつひとつ見ていきましょう。 <接続> viOpenDefaultRM()関数でVISAシステムを起動し、viOpen()関数で接続を確立します。 この時、viOpen()の引数として、測定器を特定

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    gomi_ningen
    gomi_ningen 2013/10/06
    “静的メンバ変数を宣言した場合、その実体の定義をクラス定義の外側に記述しなくてはなりません。”←これ完全に忘れてた…。
  • staticなメンバ変数を正しく初期化する - 自習室

    クラスを定義して、.hと.cpp のファイルに分割する際にこれまでも何度か同じような引っかかり方をしてきた気がするのでメモ。 /*test.h*/ class test{ static int my_intarray[10]; //ここがまずい public: static void func(); }; /*test.cpp*/ #include "test.h" void test::func(){ test::my_intarray[0] = 1; } int main(){ test::func(); return 0; } /*以下略*/ のように、.h ファイルの中で具体的な領域の確保はできない。というか、「確保」という言い方自体がおかしい。なぜなら、上記の.h ファイルの中身はクラスの「定義」なのであって、インスタンスはmain中なりどっか別の場所で作られ、その際に初めてメン

    staticなメンバ変数を正しく初期化する - 自習室