declare/declaration的均译为声明;define/definition均译为定义。通常认为,两者涵义之基本差别是:“声明”只是为编译器提供信息,让编译器在符号表中为被声明的符号(比如类型名,变量名,函数名等)保留位置,而不用指明该符号所对应的具体语义——即:没有任何内存空间的分配或者实际二进制代码的生成。而“定义”则须指明语义——如果把“声明”比作在辞典中为一个新词保留条目;那么“定义”就好比在条目中对这个词的意思、用法给出详细解释。当我们说一个C++语句是“定义”,那么编译器必定会为该语句产生对应的机器指令或者分配内存,而被称为“声明”的语句则不会被编译出任何实际代码。每当达到某种目的有两条或者以上途径,就会有人被搞糊涂;每当某些选择是出于个人喜好,争论就会出现。
详细解决方案
相关解决方案
- Declare Function GetSystemMetrics Lib "User32" (ByVal nIndex As Long) As Long,该如何解决
- #define _set_gate(gate_addr,type,dpl,addr)求解释。解决方案
- 哪些语言支持这样的宏定义: #define M(x,y,z) x*y+z,该如何解决
- 遇到The serializable class xxx does not declare a static final serialV ...
- define 的问题
- define 循环题
- sql="DECLARE @var varchar;select @var='"&id&"';SELECT * FROM dbo.TR_Template where name=@var;"rs.open sql,conn,1,1这段代码有不,该如何处理
- DOJO中的面向对象_第四章 Dojo/_base/declare.js源码辨析(1)
- javax.servlet.jsp.JspException: Define tag cannot set a null value”
- <bean:define 标签使用有关问题,请教如果对应的bean是null,怎么返回一个空的bean
- variable 和 declare 定义变量有何不同解决思路
- declare,if简单常识求教解决方案
- DECLARE 这个关键字几时用?存储过程中不需要用他来定义变量呀
- declare 请教下提示第3行第7列select没有into
- oracle declare 有关问题
- 执行拼凑的sql语句提示must declare variable
- declare @psw替换不掉是咋回事
- not declare a static final serialVersionUID field,该如何解决
- declare @a table如何释放
- Must declare the variable '@SerID'该如何解决
- 关于 #define do{}while(零)
- already define in *obj 异常 求解
- declare @start datetime是写在函数中吗解决思路
- 怎么把字符输出,DECLARE 有关问题,50分
- 不知MSSQL有没有类似 #define 功能?解决方案
- com.android.dex.DexException: Multiple dex files define(jar包重复引用) 异常解决
- 很严重!Unable to execute dex: Multiple dex files define ?
- android开发异常之Unable to execute dex: Multiple dex files define
- #define rINTPND (*(volatile unsigned *)0x4a000010) 编译器是如何知道往这个地址里面写值的
- HidGame里关于#define typedef IN OUT的有关问题