b b1;//a(),b(),~b(),~a()为什么不是a(),b(),~a(),~b()呢?

woneedjob 2010-01-06 11:15:19

class a
{
public:
a(){cout<<"a()"<<endl;}
~a(){cout<<"~a()"<<endl;}
};
class b
{
public:
b(){cout<<"b()"<<endl;}
~b(){cout<<"~b()"<<endl;}
};
int main()
{a a1;
b b1;//a(),b(),~b(),~a()为什么不是a(),b(),~a(),~b()呢?
}
...全文
144 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
析构的2个原则:

1.先声明的后析构(相同生命周期)
2.生命周期先结束的先析构。

FancyMouse 2010-01-06
  • 打赏
  • 举报
回复
析构的顺序是未定义的吧
woneedjob 2010-01-06
  • 打赏
  • 举报
回复
自己顶
niejimaoo 2010-01-06
  • 打赏
  • 举报
回复
先进后出,栈的思想
woneedjob 2010-01-06
  • 打赏
  • 举报
回复

int main()
{a a1;
b b1;//a(),b(),~b(),~a()为什么不是a(),b(),~a(),~b()呢?
}
//我的理解是函数入栈和出栈。因为a1,b1都是main函数的局部变量,这样理解有问题吗?
横云断岭 2010-01-06
  • 打赏
  • 举报
回复
这个应该和类里面有子类是一样的。
mstlq 2010-01-06
  • 打赏
  • 举报
回复
构造————析构……
类似于 吃饭————呕吐

后吃进去的先吐出来……
healer_kx 2010-01-06
  • 打赏
  • 举报
回复
我知道是这个顺序,我不知道这个顺序是不是必然的。我觉得无所谓。
代码下载地址: https://pan.quark.cn/s/f772f44531a5 FFmpeg 是一款功能丰富的开源命令行软件,能够对多种类型的多媒体数据,涵盖音频及视频内容,进行操作。它具备多种能力,例如进行格式转换、合并不同媒体、分割文件、执行编码与解码处理、以及实现流媒体传输等。在此特定情境下,主要探讨如何运用 FFmpeg 来处理 MP4 文件的播放难题,特别是那些无法通过流式传输正常播放的文件。MP4 文件播放时可能遇到的障碍,可能是由播放器不兼容的编码方式、容器结构错误、元数据位置设置不当,或是缺少必要的流信息所导致。FFmpeg 能够协助我们识别并修正这些问题。 1. **针对 MP4 文件的检测与修复**:借助 FFmpeg 的 `-i` 参数,可以获取 MP4 文件的详细资料,例如: ``` ffmpeg -i problematic.mp4 ``` 若发现编码方式、时间轴或容器结构存在问题,可尝试对文件进行重新封装(remuxing)或重新编码(transcoding)。例如,通过简单的重新封装操作: ``` ffmpeg -i problematic.mp4 -c copy fixed.mp4 ``` 此指令将维持视频和音频流的原状,仅更换文件的容器格式。 2. **应对流传输挑战**:当文件无法以流方式播放时,通常是因为流信息未正确嵌入文件头部。FFmpeg 可用于解决该问题: ``` ffmpeg -i problematic.mp4 -movflags +faststart output.mp4 ``` ...

65,211

社区成员

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

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