关于变量声明的问题

amartapple 2002-11-29 10:22:37
我发现有些变量不能直接声明
如过我们声明一个int变量,我们可以直接 int i;
但是有些却要用new,对这个我很搞不懂,有谁能说明一下
如果我想声明一个
TFileStream变量,我该怎么作,谢谢
...全文
91 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
scottlai 2002-11-30
  • 打赏
  • 举报
回复
new 是指为变量在活动内存空间里分配空间。内存空间可以分为栈、堆、活动区等。
如果你想把C++的细节学得更好的话就买一些C++语言的书,我现在也在看那些书,以前的很多不明白的地方现在都懂了。
mopyman 2002-11-30
  • 打赏
  • 举报
回复
指针变量用*声明,用new分配内存空间,用delete释放内存空间
TFileStream* fstream=new TFileStream();//ok
christopher_hp 2002-11-30
  • 打赏
  • 举报
回复
new 是初始化指针用的,目的是为一个指针开辟一片地址空间,通过有时候指针保存的是地址,只能永久保存,有时候就需要用new来保存一会
比如 char *p = new char[Edit1->Text.Length()];
strcpy(p, Edit1->Text.c_str()];
Socket->SendBuf(p, Edit1->Text.Length());

如果不用new我觉得对方是收不到的,因为保存的是地址,可是在对方机器上的哪个地址不是我发过的

同时因为CB中所有的类都是用指针来表示的,所以所有的控件的声明都是指针,指针功能很强大,不过有时候也很烦的 :)
lwd2k 2002-11-29
  • 打赏
  • 举报
回复
我说一下C++:

new 表示执行时申请一块存储区,用获得的指针变量访问。
例如:
int *p = new int;
*p = 5;

以后使用*p代替整数5.
看看C++基础书。
xpyilin 2002-11-29
  • 打赏
  • 举报
回复
我记得JAVA曾经讲过,对于基本变量类型,我们可以直接声明使用,包括:int,char,bool,short,long,byte,double,......大约是8种,而对于其余的变量类型(称为引用变量),应该先声明一个变量的实例,再进行使用,如:
Integer xp = new Integer(8);
String a = new String("abc");
等等。
whitelion 2002-11-29
  • 打赏
  • 举报
回复
我编程好几年了
就没有搞明白这个问题

咱们一起重新学C++

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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