2009-05-01から1ヶ月間の記事一覧
一個前のを書きながら思ったんだけど、実はかなり面白くないか? OOPが難しいのは、数多の実物より先に抽象概念を定義する必要があって、そこで目的に合わない定義の仕方をしてしまうと、ドカーン!ってなる (ambiguous representation) ので、慎重に定義し…
派生クラスの合併集合のような基底クラスを作るための構文を用意すればいいんじゃないか?たとえばJavaで: ambiguous class Animal {} // AnimalにはNotImplementExceptionを投げるだけのrun, fly, swimが暗黙に実装される class Dog extends Animal { publ…
抽象的な言葉は、いろんなところで使えるから便利だけど意味多すぎるなぁとか思ってたけど、よく考えたら抽象的というのは、表わしたいことの本質以外をそぎ落としたということなんだから、そういう言葉っていうのはむしろ混じりけがない言葉で、混じりけが…
私は「パンツじゃないから恥ずかしくないもん」というのを「「パンツではない」ならば「恥ずかしくない」」という命題だと捉えて色々考えてみたのだが、これだと結局なにが言えるのか分からなかった。 そこでふと思い出したのが、modus ponensのことである。…
関数fと引数vのタプルと、整数nを渡すとvにfを2^n回適用する関数マクロを作った #define PP_TUPLE_ELEM_0(a, b) a #define PP_TUPLE_ELEM_1(a, b) b #define PP_TUPLE_ELEM(n, tup) PP_TUPLE_ELEM_I(n, tup) #define PP_TUPLE_ELEM_I(n, tup) PP_TUPLE_ELEM_…
重複一日7000箇所、コピペ一日5万回、変数3000個、ソース一日100万行、コードは万里を越える… https://twitter.com/DecimalBloat/status/1793272918 あまりにもヒットしすぎて自分の発言引用してしまった…
struct scope_guard { std::function<void()> f_; bool dismiss_ = false; template<typename F> scope_guard(F && f) : f_(std::forward<F>(f)) {} scope_guard() = delete; scope_guard(scope_guard const &) = delete; ~scope_guard() { if (!dismiss_) { f_(); } } void dismiss</f></typename></void()>…
C++TT読み終わった。 現代的なC++で使われている技巧が一通り入ってて、なんというかこうtemplateの面白い部分ばっかり集めた収まりのいい本だなぁと思った。 個人的にはET解説ついでにラムダ式とかbindとか欲しかったとか思うけど、それやるとおそらく分量…
がんばった。 \u, \U, \o, \xのあたりはあまり気にしない。あと文字コードも知らない。 $esc = '\\\\.'; $cChar = "(?:[^'\\\\\\n]|$esc)"; $cPrefix = '[uUL]'; $ch = "(?:$cPrefix?'$cChar+')"; $sChar = qq{(?:[^"\\\\\\n]|$esc)}; $strPre = '(?:[uUL]|u…
http://d.hatena.ne.jp/oorexx/20090507/1241703786 http://d.hatena.ne.jp/faith_and_brave/20090508/1241747936まぁプログラミング言語とか言語以外もふくんでるけどね! 日本語 数式 英語 BASIC C Z80 asm CASL SQL C++(runtime) HTML CSS JavaScript Act…
気付いたのが当日だた。塗るのはおいおい。
テンプレートを使うとコードが読みにくい 多分vector<int>を読みにくいと言う人はいないと思う。むしろ、テンプレートの存在を知っているならば、「int用のvectorだ」と素直に理解できるぐらい簡単。読みにくいのは、例えば(次のコードは例なので、意味は分から</int>…
メモ。 何ヶ月か前に新しいgcc(4.2か4.3ぐらい)で突然ビルドできなくなったんだか、起動できない物体ができたんだか というわけでgcc3.4でやってた またビルドに失敗するようになった 今度は4.3だとできた おしまい。