/ / メモ
2009-06-16

const 型修飾子
D の const は、型修飾子ではなく記憶クラスです。従って、
型修飾子として使われている const は全て除いてしまいます:
void foo(const int *p, char *const q);
は、こうなります:
void foo(int* p, char* q);

D でこのように書いた場合、

void foo(const int* p)

C で同じ意味の記述は、

void foo(const int* const p)

になる。

C でこのように書いた場合、

void foo(const int* p)

D で同じ意味の記述は、

void foo(const(int)* p)

になる。

で、const 型修飾子の項目では、
const(int) や const(char) では無く、
const を除くように書いてあるのは、なぜだろう?

もしかして、Cのリンケージの関数には、
const(int) などの const型は書いてはいけない?

トラックバック http://mikanya.dip.jp/memo/2009-06-16-1