C++.奇怪的构造函数声明

c++. Strange constructor declaration?

本文关键字:构造函数 声明 C++      更新时间:2023-10-16

我使用MonkSVG lib。下面是一个代码示例:

链接

下面是代码的一部分:

OpenVG_SVGHandler::OpenVG_SVGHandler()
    :   ISVGHandler()
    ,   _mode( kGroupParseMode )
    ,   _current_group( &_root_group ) 
    ,   _blackBackFill( 0 )
    ,   _batch( 0 )
    ,   _use_opacity( 1 )
    ,   _has_transparent_colors( false )

据我了解,第一个 - ISVGHandler() - 意味着调用没有参数的父构造函数。

所以:

  • 其他参数是什么意思?

  • _current_group( &_root_group )意味着我需要向它传递一个额外的参数,不是吗?

  • 例如,_batch(0)batch = 0;之间有什么区别吗?

  • 订单有影响吗?

OpenVG_SVGHandler::OpenVG_SVGHandler()
    :   ISVGHandler()
{
    _mod = kGroupParseMode;
    _current_group = &_root_group;
    _blackBackFill = 0;
    _batch = 0;
    _use_opacity = 1;
    _has_transparent_colors = false;
}

=>快捷键=>

OpenVG_SVGHandler::OpenVG_SVGHandler()
    :   ISVGHandler()
    ,   _mode( kGroupParseMode )
    ,   _current_group( &_root_group ) 
    ,   _blackBackFill( 0 )
    ,   _batch( 0 )
    ,   _use_opacity( 1 )
    ,   _has_transparent_colors( false )
{
}

秩序有一定影响

Class::Class()
    :  b(a),    // b == 10, 0, or random value ?? Compiller usually raises warrning
       a(10)
{
}