C++ 模板元编程 - 是否可以输出生成的代码?

2021-12-13 00:00:00 templates metaprogramming c++ seqan

我想调试一些模板化代码以更好地理解它.
不幸的是,我是模板元编程的新手,我很难进入.

I would like to debug some templated code to understand it better.
Unfortunately I'm new to template metaprogramming and it IS hard for me to get in.

当我尝试输出预处理的源文件时,我得到了 125 000 行代码:/

When I try to output the preprocessed source files I get 125 000 lines of code :/

那么有没有办法可以看到生成的代码?(我使用的库是 SeqAn)

So is there a way I can see the generated Code? (The library I'm using is SeqAn)

推荐答案

不,不是.预处理器与模板处理无关,由编译器执行.模板不会生成 C++ 代码,就像函数调用一样 - 它们是 C++ 语言本身不可或缺的一部分.

No it isn't. The preprocessor has nothing to do with template processing, which is performed by the compiler. Templates do not generate C++ code, any more than a function call does - they are an integral part of the C++ language itself.

相关文章