##宏运算符在C++;? 当我的C++书中有五个函数命名为 FooPrime, ftoprunt, fTrePrime,四打印< /C> >和 FFIVEPrime< /C>,你需要用 你可以:
有人能用简单的例子向我解释一下如何使用这个连接宏吗##宏运算符在C++;? 当我的C++书中有五个函数命名为 FooPrime, ftoprunt, fTrePrime,四打印< /C> >和 FFIVEPrime< /C>,你需要用 你可以:,c++,visual-studio-2010,macros,C++,Visual Studio 2010,Macros,有人能用简单的例子向我解释一下如何使用这个连接宏吗 我使用MS Visual C++ 2010 Express。< /P> < P>最简单的例子: #define XY(x,y) x##y 这就是 XY(1,2)到12 同样地 #define fprint(S) f##S##print 会翻译 fprint(一个)tofOnePrint fprint(两个)到fTwoPrint等等。没有强制使用#操作符。但是,其目的是,如果您愿意,您可以通过书写,例如: fPrint(two)("forma
我使用MS Visual C++ 2010 Express。< /P> < P>最简单的例子:
#define XY(x,y) x##y
这就是
XY(1,2)
到12
同样地
#define fprint(S) f##S##print
会翻译
fprint(一个)
tofOnePrint
fprint(两个)
到fTwoPrint
等等。没有强制使用#
操作符。但是,其目的是,如果您愿意,您可以通过书写,例如:
fPrint(two)("format string %d\n", value);
看起来有点滑稽。但是,fPrint(二)
宏将扩展为
ftwoprint
然后,下面的括号可能会使代码成为对函数的有效调用。没有什么可以阻止你写这篇文章:
ftwoprint("format string %d\n", value);
现在还不清楚宏有什么显著的好处。你不也用谷歌搜索一下吗??
ftwoprint("format string %d\n", value);