通过这些方式将struct传递给函数有什么区别

时间:2019-06-15 16:18:37

标签: c++

我一直在尝试使用struct进行某些操作,我发现有多种方法可以将struct传递给函数,它们似乎都可以工作,但是我不确定哪一种更易读/对计算机友好。

我可以模糊地猜测,一审和二审之间并没有太多(或实际上没有任何区别),但是可能会。至于第三个和第四个,在我的情况下将const放在这里没有什么区别,因为该函数只是读取变量并且不更改它们(仍然不确定在其中扔const是否有意义)。至于第五种情况-&运算符应在从函数返回值后更改值,但在我的情况下,它并不是真正需要的值(因此不确定该运算符是否应该存在)。

我很可能在这里误解了一些至关重要的内容(以及const和&运算符的含义),但是请保持谨慎。

void read(TStructName somedata)
{
    cout << somedata.data;
}

void read(struct TStructName somedata)
{
    ...
}

void read(const TStructName somedata)
{
    ...
}

void read(const struct TStructName somedata)
{
    ...
}

void read(TstructName& somedata)
{
    ...
}

0 个答案:

没有答案