一个关于#define 中的 \的问题,不懂

Boy_Vc 2002-12-15 09:33:42
#define Instantiate_TSimpleVector(TYPE) \
template class EST_TSimpleVector<TYPE>; \ //是否多了\

#define Declare_TSimpleVector_T(TYPE,TAG)

#define Declare_TSimpleVector(TYPE) Declare_TSimpleVector_T(TYPE,TYPE)

一般情况下,\符连接的最后一行,不用\,但是上面的第二行也有\是什么意思
比如:
#define F(N) \
f(N); \\此行不加\表示F(N),代表f(N)
但如果是下面的又是什么意思呢?
#define F(N) \
f(N); \
清高手帮忙?
...全文
77 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Boy_Vc 2002-12-16
  • 打赏
  • 举报
回复
#define Declare_TSimpleVector_T(TYPE,TAG) //这行又是什么意思

不是#define A B
它怎么只有A,没B呢
Boy_Vc 2002-12-16
  • 打赏
  • 举报
回复
to:staticip(staticip)
真是谢谢你的点拨,果然是因为那行空的原因,唉,这样的问题,让我想怎样才能
想的出来呀。
Boy_Vc 2002-12-16
  • 打赏
  • 举报
回复
那个
p a[10] ;//是什么意思
Boy_Vc 2002-12-16
  • 打赏
  • 举报
回复
楼上的老大能否说的清楚一点,小弟愚钝呀
sunheart 2002-12-16
  • 打赏
  • 举报
回复
谁说必须是#define A B啊。#define A也可以啊。给你个例子:
#define (*p)()
你这样用:
p a[10];
你问的那个问题和这个类似。相当于定义一个函数指针。——更像引用。
RAVEN 2002-12-15
  • 打赏
  • 举报
回复
I AM IGNORANT , BUT I PROP UP YOURS .
staticip 2002-12-15
  • 打赏
  • 举报
回复
最后一个行应该没有\,如果有,最后一行的下面一行也是宏定义的一部分,但是你的例子中下面一行是空行,所以这个macro相当于多了一行空行,所以也没有错。
gbstar2021 2002-12-15
  • 打赏
  • 举报
回复
例如
#define F(N) \
f(N); \
xxxxx

编译器会认为

#define F(N) f(N); xxxx
gbstar2021 2002-12-15
  • 打赏
  • 举报
回复
续行符

说明后面的东西要接在这一行的后面,就像 vb 中的 _
seeclear 2002-12-15
  • 打赏
  • 举报
回复
把第二行的\去掉会出问题吗?现在没法帮你试.
但是我觉得不会.

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧