gpt4 book ai didi

c++ - 在参数中指定数组大小有什么作用吗?

转载 作者:行者123 更新时间:2023-11-28 02:20:49 27 4
gpt4 key购买 nike

在参数中指定数组的大小有什么影响吗?例如。

void SetIDs(int IDs[22] );

对比

void SetIDs (int IDs[] );

它什么都不做吗?

最佳答案

不,如果按值传递,参数中的数组类型说明符总是调整为指针。

void SetIDs (int IDs[22] );

void SetIDs (int IDs[] );

void SetIDs (int *IDs );

都产生相同的代码。即使是 SetIDs 中的 sizeof IDs 也只会返回指针的大小,就好像 IDs 被声明为 int *IDs 一样。

当您通过引用传递或具有多维数组时,数组大小变得相关:

void SetIDs (int (&IDs)[22] );

此 SetID 将只接受(引用)大小为 22 的 int 数组。

void SetIDs (int IDs[22][42] );
// equivalent to
void SetIDs (int (*IDs)[42]);

此 SetID 将接受指向大小为 42 的 int 数组(或数组)的指针。

关于c++ - 在参数中指定数组大小有什么作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32575810/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com