0

重複の可能性:
C で # および ## 演算子は何をしますか?

この質問に対する適切な Google クエリを言葉にすることができないようですので、素晴らしい方々にお尋ねすることにしました。

マクロ定義で # が使われているのを見たことがありますが、それは一体何を意味するのでしょうか?

参照: http://www.flipcode.com/archives/Faking_Templates_In_C.shtml

C++ のテンプレートはマクロを使用して実装されていますか?

4

2 に答える 2

2

cppプリプロセッサに関する GCC ドキュメントを読んでください。#sign はマクロ引数の文字列化に使用され、double##連結使用されます。

C++ テンプレートは、プリプロセッサのテキスト マクロとして実装されていません。それらは抽象構文ツリー(C++ のいくつかのコア サブセット) を生成するマクロのように感じるかもしれません。

参考までに、Common Lispにはさらに強力なマクロ システムがあります。

于 2012-10-21T11:05:35.323 に答える
0

##は 2 つのトークンを連結しtype##_InitVectorます。type_InitVector

于 2012-10-21T11:05:04.590 に答える