struct/union是不是c++要抛弃的东西,但是为了和c兼容就保留了

同桌老王 2004-09-29 12:15:42
struct/union是不是c++要抛弃的东西,但是为了和c兼容就保留了?
那么struct{
int a : 1;
int b : 2;
}AAA
这种用法是不是也不在c++中提倡。
c++有没有替代的?
...全文
138 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nicknide 2004-09-29
  • 打赏
  • 举报
回复
风格问题,struct是开放性的,凡是开放性的地方,都最好用struct,比如Point结构;
而要求封闭的情况下,应该用class。

uion,很重要的东西,没有任何东西可以替代它,比如在一些非标准扩展的场合下:
struct
{

uion
{
struct
{
short x;
short y;
};
class
{long here;}base;
};
}

客户只能通过x,y来访问这个结构,但是也许实现人员有更加快速的用一个变量存储进行的操作
goodluckyxl 2004-09-29
  • 打赏
  • 举报
回复
struct在c++中构件类的一个标志
和class类似

sodangerous 2004-09-29
  • 打赏
  • 举报
回复
结构体有很多好处,操作方便\占用空间少\修改方便....
北极猩猩 2004-09-29
  • 打赏
  • 举报
回复
毕竟如果使用class来实现struct,那么效率上肯定大大折扣。
这句话毫无根据,在C++中struct和class就是同一个东西,这一点已经在以前无数的帖子中说过了。

至于union的存在是必要的,对于很多内存受限的系统需要使用同一块内存代表不同的含义
e5022 2004-09-29
  • 打赏
  • 举报
回复
任何东西存在就有他的理由么。毕竟如果使用class来实现struct,那么效率上肯定大大折扣。C++并不纯洁,然而C++却一定是高效的。为了高效,为了方便,我感觉就应改保留struct。而不仅仅是为了迁就C。
逸学堂 2004-09-29
  • 打赏
  • 举报
回复
C++本身就不是纯面向对象的语言,所以不可能
所有的操作都用对象,也就是不可能所有的操作
数据都用class,并且结构体也有他本身的好处。
并且占用内存空间少
umbrella1984 2004-09-29
  • 打赏
  • 举报
回复
尽量多用类

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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