小编amr*_*san的帖子

如何在派生类构造函数中初始化基类成员变量?

为什么我不能这样做?

class A
{
public:
    int a, b;
};

class B : public A
{
    B() : A(), a(0), b(0)
    {
    }

};
Run Code Online (Sandbox Code Playgroud)

c++ inheritance

107
推荐指数
3
解决办法
12万
查看次数

如何关闭libavformat错误消息

默认情况下,libavformat将错误消息写入stderr,如:

Estimating duration from bitrate, this may be inaccurate

我怎么能把它关掉?或者更好的是,把它管道到我自己的整洁记录功能?

编辑:将stderr重定向到其他地方是不可接受的,因为我需要它用于其他日志记录目的,我只是希望libavformat不写入它.

c ffmpeg libavcodec libav libavformat

9
推荐指数
3
解决办法
5726
查看次数

初始化声明与构造函数初始化

可能重复:
我应该在构造函数或外部构造函数中初始化变量

我想知道,这是一个更好的做法,为什么.我应该在声明时初始化类字段,还是应该在构造函数中执行?鉴于它是一个简单的单行初始化.

class Dude
{
    String name = "El duderino";

    Dude() {
        // irrelevant code
    }
}
Run Code Online (Sandbox Code Playgroud)

class Dude
{
    String name;

    Dude() {
        name = "El duderino";

        // irrelevant code
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:我知道其中一种样式优先于另一种样式的情况,例如执行可能引发异常的初始化代码的情况.我在这里谈论的是两种风格完全相同的情况.两种方式都可以完成同样的任务.我应该使用哪个?

java

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×1

c++ ×1

ffmpeg ×1

inheritance ×1

java ×1

libav ×1

libavcodec ×1

libavformat ×1