Gam*_*ing 0 c++ function data-structures
我将主函数中的所有变量成员组合在一起,并创建了一些结构,以使其更有组织性且不那么复杂。我的问题是,我不再像以前那样传递各个函数的特定参数,而是将具有巨大数组大小的整个结构传递到每个函数中。我想知道它是否会影响性能,如果是的话,有更好的方法。
const int ard = 4096;
const int are = 8192;
const int ars = 64;
struct DataStructure_init {
int main_seq[are][24];
int main_seq2[are][24];
int main_seq3[are][24];
int main_lim[arc];
int cou[ars][16];
int gx[ars][32];
int sx[ars][32];
int col[ars];
int sol[ars];
int mix[ars];
int max[ars];
int hig[ars];
int save[are];
int list[are];
int lis[are];
int li;
int mark;
int fth[16];
...
};
struct DataStructure_trus {
...
};
DataStructure_trus va;
DataStructure_init in;
int fpre (DataStructure_trus va,DataStructure_init& in);
int ftrus (DataStructure_trus& va);
int fseries(DataStructure_trus& va);
int ftcs (DataStructure_trus va,DataStructure_init& in);
int finit (DataStructure_trus va,DataStructure_init& in);
int fith (DataStructure_trus va,DataStructure_init& in);
int flist (DataStructure_trus va,DataStructure_init& in);
int fope (DataStructure_trus va,DataStructure_init& in);
int fggs (DataStructure_trus va,DataStructure_init& in);
int fpow (DataStructure_trus va,DataStructure_init& in);
int fbin (DataStructure_trus va,DataStructure_init& in);
Run Code Online (Sandbox Code Playgroud)
按值传递大型结构肯定会严重影响性能。尽管通过引用传递可能会使影响可以忽略不计。
此外,按值传递大型结构可以让您想到该站点名称。