重複の可能性:
C で # および ## 演算子は何をしますか?
この質問に対する適切な Google クエリを言葉にすることができないようですので、素晴らしい方々にお尋ねすることにしました。
マクロ定義で # が使われているのを見たことがありますが、それは一体何を意味するのでしょうか?
参照: http://www.flipcode.com/archives/Faking_Templates_In_C.shtml
C++ のテンプレートはマクロを使用して実装されていますか?
重複の可能性:
C で # および ## 演算子は何をしますか?
この質問に対する適切な Google クエリを言葉にすることができないようですので、素晴らしい方々にお尋ねすることにしました。
マクロ定義で # が使われているのを見たことがありますが、それは一体何を意味するのでしょうか?
参照: http://www.flipcode.com/archives/Faking_Templates_In_C.shtml
C++ のテンプレートはマクロを使用して実装されていますか?
cpp
プリプロセッサに関する GCC ドキュメントを読んでください。#
sign はマクロ引数の文字列化に使用され、doubleは##
連結に使用されます。
C++ テンプレートは、プリプロセッサのテキスト マクロとして実装されていません。それらは抽象構文ツリー(C++ のいくつかのコア サブセット) を生成するマクロのように感じるかもしれません。
参考までに、Common Lispにはさらに強力なマクロ システムがあります。
##
は 2 つのトークンを連結しtype##_InitVector
ます。type
_InitVector