Aim at the hacker! ;)
初心者教本にはあんまり載っていないdefineの使い方
lispのマクロとか,関数を量産できるマクロが好きです P言語にはあるのかな?
おじさんは10年くらい前こういう用途にはtemplateを多用していたような気がしますが、ちょっと違うのかな。。
コメントありがとうございます. 例えば void set_x(int _x) { x = _x; } int get_x() { return x; } void set_y(int _y) { y = _y; } int get_y() { return y; } void set_z(int _z) { z = _z; } int get_z() { return z; }
みたいな明らかにコピペになってしまうような場合,マクロを使うと DEF(x) DEF(y) DEF(z) ようにできるという意味でしたが,これもtemplateでできるのでしょうか? マクロを使うと楽ですが,ソースコード検索とかIDEには向かないでしょうね... 僕はPHP→Lisp→C/C++と時代を遡るように勉強してきているのでCはまだまだ修行中です.何かおかしなことがあれば是非教えてください!
てゆうか******さんですかw
↑隠しましたw(08/08/21)
てゆうか、なにばらしてんだYO 単純に同じような名前の違うメソッドを作りたい場合にはそうですね、マクロしかないかもしれませんね。 しかしクラス的なものを導入できる言語であれば、そういう同じようなメソッドを持たざるをえないということは、同じような特徴のクラスなので、継承関係を見直してリファクタするかもしれません。なので、話している言語がCだとするとちょっと的外れだったかもしれません。 テンプレートはそうした上での、’同じような操作をする’メソッドを、入力出力の型によって多態にするものなので、元ねたでいうと、Hoge::foo_HogeとHoge::bar_Hogeをひとつで書く仕組み、になるとおもいます。(同じ操作ならね)
Name (required)
Mail (will not be published) (required)
Website
とりあえず買っとく?
ドミノ・ピザ 5%OFF!
total : 00059990 today : 00000051
8 月 18th, 2008 at 15:14:09
おじさんは10年くらい前こういう用途にはtemplateを多用していたような気がしますが、ちょっと違うのかな。。
8 月 18th, 2008 at 15:41:34
コメントありがとうございます.
例えば
void set_x(int _x) {
x = _x;
}
int get_x() {
return x;
}
void set_y(int _y) {
y = _y;
}
int get_y() {
return y;
}
void set_z(int _z) {
z = _z;
}
int get_z() {
return z;
}
みたいな明らかにコピペになってしまうような場合,マクロを使うと
DEF(x)
DEF(y)
DEF(z)
ようにできるという意味でしたが,これもtemplateでできるのでしょうか?
マクロを使うと楽ですが,ソースコード検索とかIDEには向かないでしょうね...
僕はPHP→Lisp→C/C++と時代を遡るように勉強してきているのでCはまだまだ修行中です.何かおかしなことがあれば是非教えてください!
8 月 18th, 2008 at 17:08:59
てゆうか******さんですかw
↑隠しましたw(08/08/21)
8 月 21st, 2008 at 11:42:20
てゆうか、なにばらしてんだYO
単純に同じような名前の違うメソッドを作りたい場合にはそうですね、マクロしかないかもしれませんね。
しかしクラス的なものを導入できる言語であれば、そういう同じようなメソッドを持たざるをえないということは、同じような特徴のクラスなので、継承関係を見直してリファクタするかもしれません。なので、話している言語がCだとするとちょっと的外れだったかもしれません。
テンプレートはそうした上での、’同じような操作をする’メソッドを、入力出力の型によって多態にするものなので、元ねたでいうと、Hoge::foo_HogeとHoge::bar_Hogeをひとつで書く仕組み、になるとおもいます。(同じ操作ならね)