a4_d0004
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* a4_d0004: typedDef について
-(by [[K]], 2026.04.11)
** (1)
-プリプロセッサの普通の #define は、引数の型を見ないので...
-これは便利ではないなと思っていました。それで、defineマク...
-まず、プリプロセッサは基本的に型システムを持っていないた...
-私は、「マクロ引数の最初の数文字が型を表す」ということに...
#define i Int:R00
#define j Int:R01
#define d Double:F00
-こう書いた時、iは「Int:R00」という7文字のテキストでしか...
-同様にdはDouble型の「F00」です。
** (2)
-型付きdefineは次のように書きます。
#typedDef Let(Int:,r, CInt:,i) Lod_RI(r,i)
-これは第一引数rはInt型で、第二引数iはCInt型です(CIntはC...
#typedDef Let(Int:,r, Int:,s) Lod_RR(r,s)
-これは両引数ともInt型です。
-この2つのマクロは引数の数が同じですが、型によって区別さ...
** (3)
-この #typedDef ですが、実は型という概念を正しく反映して...
-ですから、その気になればいくらでも応用する余地があります。
** (4)
-基本的にマクロ引数の変数は型部分も含めてすべて引数として...
Let(i,j); → Lod_RR(Int:R00,Int:R01);
-になります。
-しかし場合によっては、この型情報がじゃまかもしれません。...
#typedDef Let(Int:,r, Int:s) Lod_RR(defRight(r,:),de...
-このように書けば、それぞれ:の右側だけが抽出されて、
Let(i,j); → Lod_RR(R00,R01);
-になります。
** (5) (2026.04.26追記) typedDef 拡張案
-型の一致を strncmp ではなく、 strstr でチェックするよう...
-これは明らかに遅くなりますが(でもどのくらい遅くなるのか...
--「::f1:Int::f2:stack::f3:32」みたいに型(f1)・アロケート...
--defLeft(defRight(x,::f2:),::)みたいにすれば狙ったフィー...
-このアルゴリズムのほうが応用範囲は広いと思うのですが、使...
* こめんと欄
#comment
終了行:
* a4_d0004: typedDef について
-(by [[K]], 2026.04.11)
** (1)
-プリプロセッサの普通の #define は、引数の型を見ないので...
-これは便利ではないなと思っていました。それで、defineマク...
-まず、プリプロセッサは基本的に型システムを持っていないた...
-私は、「マクロ引数の最初の数文字が型を表す」ということに...
#define i Int:R00
#define j Int:R01
#define d Double:F00
-こう書いた時、iは「Int:R00」という7文字のテキストでしか...
-同様にdはDouble型の「F00」です。
** (2)
-型付きdefineは次のように書きます。
#typedDef Let(Int:,r, CInt:,i) Lod_RI(r,i)
-これは第一引数rはInt型で、第二引数iはCInt型です(CIntはC...
#typedDef Let(Int:,r, Int:,s) Lod_RR(r,s)
-これは両引数ともInt型です。
-この2つのマクロは引数の数が同じですが、型によって区別さ...
** (3)
-この #typedDef ですが、実は型という概念を正しく反映して...
-ですから、その気になればいくらでも応用する余地があります。
** (4)
-基本的にマクロ引数の変数は型部分も含めてすべて引数として...
Let(i,j); → Lod_RR(Int:R00,Int:R01);
-になります。
-しかし場合によっては、この型情報がじゃまかもしれません。...
#typedDef Let(Int:,r, Int:s) Lod_RR(defRight(r,:),de...
-このように書けば、それぞれ:の右側だけが抽出されて、
Let(i,j); → Lod_RR(R00,R01);
-になります。
** (5) (2026.04.26追記) typedDef 拡張案
-型の一致を strncmp ではなく、 strstr でチェックするよう...
-これは明らかに遅くなりますが(でもどのくらい遅くなるのか...
--「::f1:Int::f2:stack::f3:32」みたいに型(f1)・アロケート...
--defLeft(defRight(x,::f2:),::)みたいにすれば狙ったフィー...
-このアルゴリズムのほうが応用範囲は広いと思うのですが、使...
* こめんと欄
#comment
ページ名: