Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
##宏运算符在C++;? 当我的C++书中有五个函数命名为 FooPrime, ftoprunt, fTrePrime,四打印< /C> >和 FFIVEPrime< /C>,你需要用 你可以:_C++_Visual Studio 2010_Macros - Fatal编程技术网

##宏运算符在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(一个)
to
fOnePrint

fprint(两个)
fTwoPrint
等等。

没有强制使用
#
操作符。但是,其目的是,如果您愿意,您可以通过书写,例如:

fPrint(two)("format string %d\n", value);
看起来有点滑稽。但是,
fPrint(二)
宏将扩展为

ftwoprint
然后,下面的括号可能会使代码成为对函数的有效调用。没有什么可以阻止你写这篇文章:

ftwoprint("format string %d\n", value);

现在还不清楚宏有什么显著的好处。

你不也用谷歌搜索一下吗??
ftwoprint("format string %d\n", value);