Cでオブジェクト指向っぽくかわいい感じに書きたくて、試行錯誤してみたのだけど、うまくいかなかった。 要は、オブジェクトに変数と関数を入れてしましたい。最近オブジェクト指向脳なのでこう書けるとうれしい。 たとえばC++だとこう書けることを、Cでも似たように書きたい。 #include<iostream> using namespace std; class Animal { string name; public: Animal(string _name){ name = _name; } void say(void){ cout<<"Hello, I'm "<<name<<"."<<endl; return; } }; int main(void){ Animal a("neko"); a.say(); return 0; } aの変数を使う関数を呼ぶのを,a.say();で済ませられるの
再入不可能な関数を C で実装する 一度実行したら二度と中身を実行できなくなる再入不可能な関数を C で実装してみます。通常、このような関数はシングルトンなどの静的なデータの初期化に使いますが、ここではデータについては考えないことにします。 static 変数をフラグに使う まずは最も単純な方法から見ていきます。次の関数は static 変数をフラグに使って再入を防いでいます。厳密に言えば関数そのものには入ってしまっていますが、ここで気にしないことにします。 void once(void) { static int entered; // 最初は 0 if (entered == 1) { // すでに入ったことがある場合は return; // すぐ出る } entered = 1; // 初回の場合のみ、何かを実行する } この方法はシングルスレッドのプログラムではうまく動きますが、マ
2006年06月17日21:30 カテゴリLLの夏Lightweight Languages LLR2006 - 1,000,000(番目|まで)の素数 キミならどう書く 2.0 - ROUND 1 - ? Lightweight Language Ringお題は「100までの整数から素数を列挙せよ」です. に対して mputの日記。 - キミならどう書く 2.0 - ROUND 1 - 100までではちょっと上が小さすぎる。「最初の1,000,000個」とかに変更すべき。ここまで大きければHaskellでも素朴なsieveでは表示できなくなる*1ので、腕の見せ所となる。 というツッコミが来たので、Haskell記事がunder constructionということもあってやってみた。 Javascriptを追記。 ただし、他との整合性から、「最初の1,000,000個」ではなく、「1,00
id:naoyaから「ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道」を借りて読んだ。 自分はLinuxを体系的に勉強したことがないのでいろいろ知識に抜けがある。 今回読んで気づいただけでも tty周り manのセクション番号の意味 setvbuf getoptの使い方 stat chrootを使うシチュエーション シグナル周り あたりは良く知らなかったので勉強になった。 ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道posted with amazlet on 06.06.08青木 峰郎 ソフトバンククリエイティブ (2005/07/27) 売り上げランキング: 3,757 Amazon.co.jp で詳細を見る
Fix ls_tests:o_flag with ZFS TMPDIR Unlike UFS or TMPFS, ZFS sets uarch automat…
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く