求教宏#define DECLARE_STRING如何使用

如题所述

# 程序员参考 #define请参见 C# 预处理器指令 | 条件方法教程 #define 使您得以定义符号,这样,通过将该符号用作传递到 #if 指令的表达式,该表达式将计算为 true。 #define symbol 其中: symbol 要定义的符号名称。 备注 符号可用于指定编译的条件。可以用 #if 或 #elif 来测试符号。还可以使用 conditional 属性执行条件编译。 可以定义符号,但是无法对符号赋值。#define 指令必须在使用任何也不是指令的指令之前出现在文件中。 也可以用 /define 编译器选项定义符号。可以用 #undef 取消定义符号。 用 /define 或 #define 定义的符号与具有同一名称的变量不冲突。即,不应将变量名传递到预处理器指令,并且只能用预处理器指令计算符号。 用 #define 创建的符号的范围是在其中定义该符号的文件。 示例 有关如何使用 #define 的示例,请参见 #if。 请参见 C# 预处理器指令 | 条件方法教程
温馨提示:内容为网友见解,仅供参考
无其他回答

求教宏#define DECLARE_STRING如何使用
可以用 #if 或 #elif 来测试符号。还可以使用 conditional 属性执行条件编译。 可以定义符号,但是无法对符号赋值。#define 指令必须在使用任何也不是指令的指令之前出现在文件中。 也可以用 \/define 编译器选项定义符号。可以用 #undef 取消定义符号。 用 ...

求教宏#define DECLARE_STRING如何使用
define DECLARE_string(name) namespace fLS { extern string& FLAGS_##name; } \\ using fLS::FLAGS_##name It should use "std::string" instead of just "string". Some compilers accept plain "string" as well, but recent versions of GCC no longer accept it....

关于#define的此种用法
正如上面那位tail1013说的那样,宏定义define,只可单独使用。define作用是用一个字符串替换另一个进行编译,这里不是变量。比如,你用了#define pi 3.14 那么,并不表示pi是一个变量,而是在出现“pi”的地方,都会替换成3.14,然后编译器才对程序进行编译。如果你放了两个,编译器根本不能正常处理...

DECLARE_SERIAL和IMPLEMENT_SERIAL宏的底层实现有些标记看不懂_百度知...
define DECLARE_SERIAL(class_name) \\ _DECLARE_DYNCREATE(class_name) \\ AFX_API friend CArchive& AFXAPI operator>>(CArchive& ar, class_name* &pOb);实际上的意思是DECLARE_SERIAL(class_name)定义成下面两行 _DECLARE_DYNCREATE(class_name)AFX_API friend CArchive& AFXAPI operator>>(CArc...

DECLARE_SERIAL的步骤
SERIAL 宏  要将<< 和>> 两个运算子多载化,还要让Serialize 函数神不知鬼不觉地放入类别声明之中,最好的作法仍然是使用宏。类别之能够进行文件读写动作,前提是拥有动态生成的能力,所以,MFC 设计了两个宏DECLARE_SERIAL 和IMPLEMENT_SERIAL:#define DECLARE_SERIAL(class_name) \\DECLARE_...

是否可以“宏定义(#define)”一个指针,指向一个二维数组?
请理解,宏定义就是在进行编译的同时,将使用此宏定义的代码位置全部进行替换后再编译。如果只是定义了某个宏定义,而没有使用的位置的话,编译后生成的机器码或可执行文件是不包含与此宏定义相关的内容的。举例1:define GLOBAL#define STATIC static#define CONST const#define DECLARE_A_POINTER ...

是否可以“宏定义(#define)”一个指针,指向一个二维数组?
可以,举例说明:define MYPOINTER (unsigned char *)a int a[5][10];unsigned char *p;int i,j;for ( i=0;i<5;i++ ) for ( j=0;j<10;j++ ) a[i][j]=i*10+j; \/\/给数组赋值 for ( i=0,p=MYPOINTER ;i<5*10*sizeof(int);i++,p++ ) *p=0; \/\/用指针将数组清0 ...

DECLARE_SERIAL与IMPLEMENT_SERIAL的具体用法
我在MFC代码中查看DECLARE_SERIAL和IMPLEMENT_SERIAL宏的定义,定义如下: #斜杠是指预定义还没有结束 包含下面以行 例如 #define DECLARE_SERIAL(class

MFC中消息映射表的定义语句#define
\\ 仅仅代表换行

谈谈Dojo define 和declare的区别
因此,define的第一个参数就是将要用到的其他模块引进来。第二个参数描述这个模块具体干什么,并且给第一个参数中的模块分别起一个朗朗上口的名字。就像下面这段代码描述的样子。 util.js [javascript] view plaincopy define([ "dojo\/dom"], function(dom) { return { setRed: function...

相似回答