结构体Struct作为函数的形参的默认值及传递方式

参数一般都是实参、形参,实际上我们用常量引用可以获得更好的性能:

void func(const MyStruct &va);

那么,这种常量引用如何使用默认值呢?看代码:


struct abc{
    int a;
    int b;
    int c;

    // 可以作为所有的默认值
    /*abc(int _a,int _b,int _c){
        a = _a;
        b = _b;
        c = _c;
    }*/
};

abc defaultAbc = {1,2,3};

void dis(const abc& a = {7,8,9})
{
    qDebug("a=%d,b=%d,c=%d",a.a,a.b,a.c);
}

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{

    if(0)
        __debugbreak();
    ui->setupUi(this);

    dis(defaultAbc);
    dis({4,5,6});
    dis();
}


输出是:

a=1,b=2,c=3
a=4,b=5,c=6
a=7,b=8,c=9


本文为3YL原创,转载无需联系,但请注明来自labisart.com。

原创文章不易,如果觉得有帮助,可打赏或点击右侧广告支持:

查看打赏记录

发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共0条评论
  • Blog v1.1© 2024 labisart.com 版权所有 | 联系:labartwork@163.com