program

C++ template

c++でtemplateクラスの中で自らの関数を呼ぶ場合、this->を指定しないといけないようだ。前方宣言すれば、そんな問題は起こらない。

JavaのScannerを使うときの注意

Javaファイルの文字コードをUTF-8にしているときにScannerを使うとうまく読み込めません。 読むときは Scanner scan = new Scanner(file, "MS932"); と"MS932"(各自の環境)と指定してScannerを使いましょう。

Javaのフォーマッター

%8dと指示しても、大きな整数で9桁以上の場合は8を無視する。 %.8sと指示すると文字列の最大幅を8として後半の文字は切り落とされる。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Formatter.html

C++の参照

C++ではコピー生成を避けるため、関数の引数では参照を使うことが多い。 ただintやdoubleなどの組込型のコピーはオーバーヘッドは無視できるほど小さなものらしい。 なので値渡しで行うのが普通とのこと。 参照とする場合は、ユーザー定義の型である構造体や…

if __name__ == '__main__':

Pythonのはなし。 Pythonでよく見かける下の1行。 if __name__ == '__main__': if以下はscriptファイルとして動作した場合のみ呼び出される。

c++の文字列処理(分割)

文字列の分割(sscanf) #include <iostream> #include <string> using namespace std; int main() { std::string str( "A:B" ); char lhs,rhs; sscanf(str.c_str(), "%c:%c", &lhs, &rhs); cout << lhs << ":" << rhs << endl; return 0 } 文字列の分割(sstream) #include <sstream> #inc</sstream></string></iostream>…

Qt コンパイル 実行

$ qmake -project //projectを作る(ディレクトリに対して行う) $ qmake hello1.pro // $ make $ ./hello1

Qtインストール

gcc,g++,makeを事前にインストール (sudo apt-get install g++ など)http://trolltech.com/downloads/opensource#qt-open-source-editionから"Qt Open Source Edition for C++ Developers: X11 Download"をダウンロード$ tar zxvf qt-x11-opensource-src-x.x…