C++Builder中为什么对象大多数都是声明为指针??

qq544164 2009-07-29 04:02:03
C++Builder6.0中IDE生成的。如何Tbuttion,TextBox等。都是声明为指针呢。
如果我自己写了一个User类。想用它。是不是也最好声明指针类型?好处是什么呢?
...全文
391 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
sczyq 2009-08-25
  • 打赏
  • 举报
回复
建立在堆上的成员, 用 "->" 访问, 如: FUser->Id
建立在栈上的成员, 用 "." 访问, 如: FUser.Id
___NULL 2009-08-25
  • 打赏
  • 举报
回复
指针是一把强大的双刃剑,不过我喜欢
draculamx 2009-08-21
  • 打赏
  • 举报
回复
还有一点,VCL中有很多函数的参数都是复杂的类或者结构体,这种情况下,用指针可以最大化的提高性能
daily66 2009-08-20
  • 打赏
  • 举报
回复
多态,另外,速度也快,
microtie 2009-08-11
  • 打赏
  • 举报
回复
学习了,也为此困惑过
我不懂电脑 2009-08-10
  • 打赏
  • 举报
回复
声明称指针类型的根本原因在于对多态、延迟绑定的支持,举例说
一个基类指针指向派生类,如果有虚函数使用了多态的话,基类指针调用的是派生类的方法,
而不用指针的话调用的是基类的方法。
xjq2003 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 qq544164 的回复:]
C++Builder6.0中IDE生成的。如何Tbuttion,TextBox等。都是声明为指针呢。
如果我自己写了一个User类。想用它。是不是也最好声明指针类型?好处是什么呢?
[/Quote]
一定要声明称指针类型,不然你调用Tbuttion,TextBox的函数都不行
72193 2009-08-09
  • 打赏
  • 举报
回复
大家理解一下java , c# 的话就理解 bcb 为何要这样了.
说到底是内存问题.(动态的内存管理)
主要是为了得到高级特性,一个弹性的内存需求是不可以直接在堆栈中创建的,
内部还有很多实现上的细节,例如:
动态数组,智能指针,动态内存回收,等等.
银点 2009-08-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ccrun 的回复:]
你自己写的User类,如果继承自TObject,由于VCL的特性,对象只能建立在堆上,不能建立在栈上。
也就是说如果这个User类继承自TObject,那么只能用new的方式创建实例。

对于不是继承自TObject的自定义类,可以建立在堆上(定义一个指针,用new的方式创建对象),也可以建立在栈上(TUser u;这样的方式创建),只不过用new方式创建的对象,需要注意用delete释放。
[/Quote]

正解。前一段时间刚看到的。妖哥,你真妖!
laowang2 2009-07-29
  • 打赏
  • 举报
回复
vcl组件必须要这样做。
lhy 2009-07-29
  • 打赏
  • 举报
回复
C++当然要用指针了。
TripH0101 2009-07-29
  • 打赏
  • 举报
回复
MARK
ccrun.com 2009-07-29
  • 打赏
  • 举报
回复
你自己写的User类,如果继承自TObject,由于VCL的特性,对象只能建立在堆上,不能建立在栈上。
也就是说如果这个User类继承自TObject,那么只能用new的方式创建实例。

对于不是继承自TObject的自定义类,可以建立在堆上(定义一个指针,用new的方式创建对象),也可以建立在栈上(TUser u;这样的方式创建),只不过用new方式创建的对象,需要注意用delete释放。
肆水東澤 2009-07-29
  • 打赏
  • 举报
回复
主要是对内存的管理。
haiandj 2009-07-29
  • 打赏
  • 举报
回复
可以动态创建和删除控件;
可以动态申请和释放内存;
可以把声明和定义分开(头文件和源文件);
米的向日葵 2009-07-29
  • 打赏
  • 举报
回复
在VCL中对象存储实现机制和C++有点不同,对象都是存储在对上的,用堆来存储对象有其优点,他让用户自己显示地创建和销毁,什么时候创建什么销毁了,一清二楚,可读性非常好,传递时也不需要拷贝

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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