社区
Delphi
帖子详情
#define这个定义跟const这个定义有什么区别
mynameisking
2004-05-08 05:43:06
#define PTCL_SYST_USERINFO 0x0c 这是在VC中写法.
不知道在delphi中能否用
const PTCL_SYST_USERINFO=$0c代替它.
顺便问一下#define这个做什么用的?
...全文
29
15
打赏
收藏
微信扫一扫
点击复制链接
分享
下载分享明细
分享
举报
写回复
15 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mynameisking
2004-05-09
“geyobing(大地精灵)” 一语惊人,终于惊醒梦中人。不过我至少读了20多遍geyobing(大地精灵)那段话才吾出道理来。还要多谢楼上众位
打赏
举报
回复
赞
大地精灵
2004-05-09
const就是定义常量
而#define则不一样,它具有替换作用,也就是你预定义一部分指令,到时候只需要把它写在程序里,编译的时候就等于这一部分指令写在里面一样
打赏
举报
回复
赞
lijinghe1
2004-05-08
#define定义的一定永远是常量.
//不准确,编译时被定义的东东替换,#define PTCL_SYST_USERINFO 0x0c//这句可以这样理解
const定义的不一定永远是常.
//理解正确,但是将const常量转为变量是一个非常不好的编程风格,除非必须这么做(如写某些接口程序)
--------------------------------------------
这个问题应在c++讨论吧
打赏
举报
回复
赞
大地精灵
2004-05-08
宏替换在DELPHI里是不存在的,所以你需要跟VC的那些同事说清楚,
打赏
举报
回复
赞
mynameisking
2004-05-08
高手呀,发表大句话嘛,因为我这个项目是跟vc混合开发,他们vc哪边就是用#define定义宏,可是我这边不知道咱跟他们那边接口
打赏
举报
回复
赞
mynameisking
2004-05-08
up起来再让。。。。。。。。
打赏
举报
回复
赞
mynameisking
2004-05-08
我得出了一点结论:
#define定义的一定永远是常量.
const定义的不一定永远是常.
这两个的区别就在这里,不知道我这样理解对不对?
打赏
举报
回复
赞
耙子
2004-05-08
#define 是编译器用的宏指令,不算作C语言的语句。在编译的过程中就完全替换掉了。
pascal 的const和 c的const 有些类似,都是常量,但是delphi的const 通过编译开关可以修改,而不用永远是常量。
打赏
举报
回复
赞
mynameisking
2004-05-08
干嘛要用#define定义变量呢,直接用var I:integer不行吗?
ME想得要湖涂了
打赏
举报
回复
赞
mynameisking
2004-05-08
判断标志?
var
I:integer=159;
...
if a=I then ....也就是说I就变成159这个标志? 我好像快要糊涂了
打赏
举报
回复
赞
楚人无衣
2004-05-08
就是判断是不是存在这样一个标志,若存在就执行某一操作
打赏
举报
回复
赞
mynameisking
2004-05-08
什么叫预编译指令?
做什么用?
打赏
举报
回复
赞
楚人无衣
2004-05-08
$DEFINE预编译指令,在工程中都可用;常量定义就用const了,其所定义只能在begin...end之间用
打赏
举报
回复
赞
bankhank
2004-05-08
delphi里的const指的就是常量啊
打赏
举报
回复
赞
fim
2004-05-08
常量啊,楼主说得很对,delphi里面没有#define
打赏
举报
回复
赞
相关推荐
"
const
" & "#
define
"
"
const
" & "#
define
" 在C和C++中的
定义
C++并非使用
const
取代#
define
,而只是增加了
const
。在C++程序中只使用
const
常量而不使用宏常量,即
const
常量完全取代宏常量;C99的标准增加了
const
的关键字,即现在
const
并非C++专
有
,在C语言中也可以使用
const
代替#
define
定义
一些常量,为了考虑兼容那些没
有
实现
const
编译器的要求,
用来代替#
define
的
const
用来代替#
define
的
const
C++中提倡用
const
来代替 #
define
. 好处1 :
const
进行类型安全检查 好处2:
const
是
有
类型的,比如
const
int val = 0;
const
double val = 0;
php
const
和
define
,php中
const
与
define
有
什么
区别
?
php中
const
与
define
有
什么
区别
?1、函数
define
在PHP4和PHP5中均可使用,而
const
只能在PHP 5.3.0及其后的版本中使用;2、
const
定义
的常量是在编译时
定义
的,而函数
define
是在运行时
定义
的。
区别
详细
const
是在编译阶段
定义
常量,
define
是在预处理阶段
定义
常量
const
在编译阶段就
定义
了常量,
定义
常量时必须处于最顶端的作用区域。所以不能再if等条件语句中...
define
和
const
常量
有
什么
区别
?
define
在预处理阶段进行替换,
const
常量在编译阶段使用 宏不做类型检查,仅仅进行替换,
const
常量
有
数据类型,会执行类型检查
define
不能调试,
const
常量可以调试
define
定义
的常量在替换后运行过程中会不断地占用内存,而
const
定义
的常量存储在数据段只
有
一份copy,效率更高
define
可以
定义
一些简单的函数,
const
不可以 转载于:http...
#
define
和
const
常量
有
什么
区别
#
define
和
const
常量
有
什么
区别
? •
define
在预处理阶段进行替换,
const
常量在编译阶段使用 • 宏不做类型检查,仅仅进行替换,
const
常量
有
数据类型,会执行类型检查 •
define
不能调试,
const
常量可以调试 •
define
定义
的常量在替换后运行过程中会不断地占用内存,而
const
定义
的常量存储在数据段只
有
一份copy,效率更高 • d
发帖
Delphi
微信扫一扫
点击复制链接
分享社区
下载分享明细
5124
社区成员
26.2w+
社区内容
Delphi 开发及应用
社区管理员
加入社区
帖子事件
创建了帖子
2004-05-08 05:43
社区公告
暂无公告