社区
Delphi
帖子详情
#define这个定义跟const这个定义有什么区别
mynameisking
2004-05-08 05:43:06
#define PTCL_SYST_USERINFO 0x0c 这是在VC中写法.
不知道在delphi中能否用
const PTCL_SYST_USERINFO=$0c代替它.
顺便问一下#define这个做什么用的?
...全文
99
15
打赏
收藏
#define这个定义跟const这个定义有什么区别
#define PTCL_SYST_USERINFO0x0c 这是在VC中写法. 不知道在delphi中能否用 const PTCL_SYST_USERINFO=$0c代替它. 顺便问一下#define这个做什么用的?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
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
cpp的static的实现
前言 学习自用,有错麻烦提一下 正文 static成员变量 static修饰的值会在静态区分配空间,是在编译时期就分配了空间,(那么在没运行时就占用了可执行文件的大小吧), 可以把static与全局变量作比较,实际上的实现也是像全局变量一样额外放一个地方,全局变量放在全局区,静态变量放在静态区局区,不同之处就在于static的类成员是指定只能类来访问的,相当于static成员变量做了访问限制的全局变量 static成员函数 不同于static的成员变量,static修饰的成员函数在代码区分配内
C++ static关键字作用讲解
一、隐藏作用 指的是加static关键字的变量只在源文件cpp中起作用,无法在其中文件中被调用。 举例来说明: 分别创建两个cpp文件。一个是main函数所处的cpp 一个是自己
定义
的demo.cpp demo.cpp代码如下:里面主要是
定义
了一个char类型字符a和msg函数 #include "stdafx.h" char a ='a'; void msg(){ std::co...
C++ static extern
const
1.static。 不同的cpp文件中可以
定义
同名的static变量。如:static int kk = 3; 这样不会造成重
定义
的问题,因为static作用范围是单个编译单元。每个编译单元会开辟独立的空间来存储kk变量。并且无法用extern在其它cpp文件中使用。 2.extern extern与static不能一起使用,其作用范围是工程的全局范围。如果在多个cpp中重复
定义
了同名extern...
static in cpp(c++) c++ 静态
类外的static修饰的符号在linker阶段时局部的,也就是只对
定义
它的翻译单元.obj可见,而类或结构体里的static 表示这部分内存是这个类的所有实例共享的,简单来说就算你实例化了很多次这个类或这结构体(实例化像Java里的创建对象,static 在java的类中也是这个作用,同一个类创建的所有对象都共享static这块内存,就像是联想电脑品牌(类),它有很多不同版本的联想电脑(对象)都有一模一样的lenovo标志(static 修饰了 lenovo ))。在前面的 linker 中讲过。
C++ static详解
一、c/c++共有: 修饰全局变量时,表明一个全局变量只对
定义
在同一文件中的函数可见。 修饰局部变量时,表明该变量的值不会因为函数终止而丢失。 修饰函数时,表明该函数只在同一文件中调用。 1、全局静态变量: 用法:在全局变量前加上关键字static,全局变量就
定义
成一个全局静态变量。 static int temp; 内存中的位置:静态存储区,在整个程序运行期间一直存在。 初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化); 作用域:全局静态变量在声明他的文件
Delphi
5,943
社区成员
262,941
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章