社区
C++ 语言
帖子详情
前向声明为什么一定要是指针呢
xuegao007
2008-02-22 10:00:07
#include <iostream.h>
class B;
class A
{
public:
protected:
B b; //这样写为什么不行,变成B* b 就可以了。why?
};
class B
{
public:
protected:
A a; //这里是没问题的。
};
void main()
{
}
...全文
115
3
打赏
收藏
前向声明为什么一定要是指针呢
#include class B; class A { public: protected: B b;//这样写为什么不行,变成B* b 就可以了。why? }; class B { public: protected: A a;//这里是没问题的。 }; void main() { }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chengzhe
2008-02-22
打赏
举报
回复
楼上正解,不知道大小 无法分配空间
tjltail
2008-02-22
打赏
举报
回复
这个问题是这样的
在B还没有定义前,你不知道b的大小,编译器在编译A的时候没有办法知道A的大小,编译当然会有问题
而是指针就不同了,编译器中指针的大小是一定的,不管你的类型,取指针大小就可以了.
而在b中a的对象是没有问题的,a的大小根据前面的定义就可以知道了,所以没有问题.
ltc_mouse
2008-02-22
打赏
举报
回复
前向声明后,B还属于不完全类型,编译器只是知道B是class类型的,但这个class具体有哪些属性,无法知道;尝试定义B b是不合理的(要定义,需要知道它的大小,但现在却不知道...);但B* b没有问题,在一个系统中,指针变量占用的存储空间是一样的,既然我知道了B是class类型,那么B*就是有效的指针类型,从而它的存储空间已知,定义可以成立~
【Python编程】Python日志系统logging模块配置与最佳实践
内容概要:本文全面解析Python logging模块的架构设计与配置方法,重点对比Logger/Handler/Filter/Formatter四组件的职责分离与组合灵活性。文章从日志级别(DEBUG/INFO/WARNING/ERROR/CRITICAL)的语义定义出发,详解StreamHandler与FileHandler的输出分流、RotatingFileHandler的按大小/时间轮转策略、以及SMTPHandler的异常邮件告警机制。通过代码示例展示dictConfig的YAML/JSON外部配置加载、日志上下文(LoggerAdapter/extra参数)的请求追踪注入、以及多进程/多线程环境下的日志安全(QueueHandler/QueueListener),同时介绍structlog的结构化JSON日志输出、日志采样与速率限制(filters)的性能优化,最后给出在分布式系统、容器化部署、合规审计等场景下的日志规范设计与集中采集方案。 24直播网:m.guoxinbilin.com 24直播网:whlhjt.com 24直播网:fqfybjy.com 24直播网:m.ynbcxl.com 24直播网:m.nvdei.com
【Python编程】Python API开发之RESTful与GraphQL设计
内容概要:本文深入对比RESTful与GraphQL两种API设计范式在Python中的实现,重点分析资源导向与查询导向在数据获取效率、版本控制、缓存策略上的差异。文章从HTTP方法语义(GET/POST/PUT/PATCH/DELETE)出发,详解Flask-RESTful的资源类路由映射、Marshmallow的序列化/反序列化校验、以及HATEOAS超媒体驱动的API发现机制。通过代码示例展示Graphene的Schema定义、Resolver解析函数的N+1查询问题与DataLoader批处理优化、以及GraphQL的订阅(Subscription)实时推送实现,同时介绍FastAPI的自动OpenAPI文档生成、Pydantic模型的请求体验证与响应序列化、以及REST API的版本控制策略(URL路径/请求头/内容协商),最后给出在微服务网关、移动应用后端、数据聚合层等场景下的API设计原则与性能优化建议。 24直播网:m.btla.sc.cn 24直播网:kllhs.gs.cn 24直播网:www.jljlg.xz.cn 24直播网:www.jmnyey.xj.cn 24直播网:jznybyey.qh.cn
电池焊接设备【SW三维图+IGS+x_t】.rar
电池焊接设备【SW三维图+IGS+x_t】.rar
车王喷涂生产线.rar
车王喷涂生产线.rar
围绕报表导出任务网关设计平台化能力
标题:围绕报表导出任务网关设计平台化能力 内容概要:结合用户体验、稳定性治理、扩展机制和排障手段,分析围绕报表导出任务网关设计平台化能力的建设方案。 24直播网:www.glbbs.gs.cn 24直播网:ymblk.org.cn 24直播网:ggdxs.org.cn 24直播网:mqanmq.org.cn 24直播网:tdzrwh.qh.cn
C++ 语言
65,211
社区成员
250,515
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章