C++

C++で単方向リスト

30分プログラム、その745。C++で単方向リストを書いてみた。 さっきBoostのインストールを開始したんですが、なかなか時間かかりますね。で、その間の暇つぶしに単方向リスト書いてました。 いたるところでnewしてますが、まったくdeleteしてません。だって…

分数クラス

30分プログラム、その736。演算子のオーバーロードを使ってみたかったので、分数クラスを作ってみました。 テンプレートを使って、整数の分数とか浮動少数の分数とかできるのを目指してました。が、約分するときに%を使ってるので、int以外の型を引数として…

更新日が古いダミーファイルを作るプログラム

30分プログラム、その731。更新日(mtime)が古いダミーファイルを作ってみました。 動機は、 一月以上前のファイルだけを消すシェルクスクリプトを書きたい いきなり本番環境じゃ動かせない ダミーファイルを作ろう という感じです。作ってる途中でtouchコマ…

C++でバブルソート

30分プログラム、その726。C++でバブルソートを書いてみました。C++を使うのは久しぶりです。 久しぶりすぎてほとんど書けませんでした。ホントは、マージソートを書きたかったんですが、結局バブルソートになりました。あと、最初はイテレータを使って書い…

max()マクロの解釈

C++

id:selvaggio:20060403が紹介していたコードを解釈してみる。 #define max(T) (((T)(-1)>(65-sizeof(T)*8))):((T)((unsigned long long)(-1))) ) T型で表現できる最大値を返す。 T型とは、[signed | unsigned][char | short | int | long | long long] のこ…

C++でorを

C++

Rubyでよくかくコード ARGV.length > 0 or abort('usage:...')をC++でも書いてみよう。 #include <iostream> void f(void) { return; } int main(int argc,char** argv) { using std::cout; using std::endl; (argc > 1) or (f(),cout << "usage:..." << endl); return</iostream>…