简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
本篇目的:C++20结构化绑定应用实例。
auto [var1, var2, var3, …] = arr_or_struct;
其中,arr_or_struct 是一个数组或结构体类型的变量,var1, var2, var3, … 是新的变量名,它们分别对应 arr_or_struct 中的每个元素或成员。
#include
#include
using namespace std;
int set(int a, int b, int c, int d, int e, int f){
printf("%s(), line = %d\n",__FUNCTION__,__LINE__);
return 0;
}
int main(){
set(1, 2, 3, 4, 5, 6);
}
#include
#include
using namespace std;
struct SetParams {
int a;
int b;
int c;
int d;
int e;
int f;
};
int set(int a, int b, int c, int d, int e, int f){
printf("---->%s(), line = %d\n",__FUNCTION__,__LINE__);
return 0;
}
void set(SetParams& s) {
set(s.a, s.b, s.c, s.d, s.e, s.f);
}
int main(){
SetParams mSetParams = {1,2,3,4,5,6};
set(mSetParams);
}
#include
#include
using namespace std;
struct SetParams {
int a;
int b;
int c;
int d;
int e;
int f;
};
int set(int a, int b, int c, int d, int e, int f){
printf("%s(), line = %d\n",__FUNCTION__,__LINE__);
return 0;
}
void set(SetParams& s) {
set(s.a, s.b, s.c, s.d, s.e, s.f);
}
int main(){
SetParams *mSetParams;
mSetParams = new SetParams{1,2,3,4,5,6};
set(*mSetParams);
}
#include
#include
using namespace std;
struct SetParams {
int a;
int b;
int c;
int d;
int e;
int f;
};
int set(int a, int b, int c, int d, int e, int f){
printf("%s(), line = %d\n",__FUNCTION__,__LINE__);
return 0;
}
void set(SetParams& s) {
set(s.a, s.b, s.c, s.d, s.e, s.f);
}
int main(){
std::unique_ptr<SetParams> mSetParams;
mSetParams = std::unique_ptr<SetParams>{new SetParams{1,2,3,4,5,6}};
set(*mSetParams);
}