参数一般都是实参、形参,实际上我们用常量引用可以获得更好的性能:
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