2010/08/10


しらんかった。
$ alias ゔむ。=vim
$ ゔむ。 ~/.vimrc
Posted at by




「new 式」 で、変数を 式 として指定することはできますか? | OKWave
via: ときどきの雑記帳
ところでpermalinkがおかしい気がする。あと最近のときどきの雑記帳はときどきどころでない気がするw
「new 式」 で、変数を 式 として指定することはできますか?

例えば次のような感じで、変数clの内容によりclassAあるいはclassBをnew
するようなことがしたいです。
class base [ ... };
class classA : public base { .... };
class classB : public base { .... };
classA* ca;
classB* cb;
base* cl;
cl = classA;
ca = new cl;
cl = classB;
ca = new cl;

これにより、多種のclassをnewする際にいちいち
pa = new classA;
pb = new classB;
pc = new classC;
pd = new classD;
............
としないで、
for (n=0; n<xxx; n++)
p[n] = new cl[n];
…みたいに簡潔に書けないかなと考えてます。
よろしくお願いします。
こんな?
#include <iostream>

using namespace std;

class base {
public:
    virtual void hello() const =0;
};

class classA : public base { void hello() const { cout << "classA\n"; }};
class classB : public base { void hello() const { cout << "classB\n"; }};
class classC : public base { void hello() const { cout << "classC\n"; }};
class classD : public base { void hello() const { cout << "classD\n"; }};

template<typename T> base* create() {
    return new T;
}

int main(){
    typedef base* (*factory)();
    factory p[] = {
        create<classA>,
        create<classB>,
        create<classC>,
        create<classD>
    };
    for (int n = 0; n < 4; n++)
        p[n]()->hello();
}
Posted at by



2010/07/31


まぁネタですが...
mattn's go-translate at master - GitHub

google language translate library

http://github.com/mattn/go-translate
これ使うと println(translate.Translate("en", "ja", "i'm zakarite what is emperor in cosmic")) こんなコードで 私は宇宙の皇帝zakariteよ こんな結果が得られます。
便利ですね!

あっ歳ばれる。
ちなみにどうやっても帝王って出せないんですけど...
Posted at by