gpt4 book ai didi

c++ - 将指针传递给需要数组的函数是否合法?

转载 作者:行者123 更新时间:2023-11-28 04:25:19 25 4
gpt4 key购买 nike

<分区>

考虑代码:

double func(double a[3])
{
/* do something with a and return */
}

int main(void)
{
std::vector<double> test(LARGE_NUM_DIVISIBLE_BY_3);
for (size_t i = 0; i < LARGE_NUM_DIVISIBLE_BY_3 / 3; ++i)
{
test[3 * i] = /* some random double */;
test[3 * i + 1] = /* some random double */;
test[3 * i + 2] = /* some random double */;

double val = func(&test[3 * i]);
}
}

这是 C++11 中定义的行为吗?即,我可以将指针 (&test[3 * i]) 传递给需要数组的函数 (double func(double a[3])) 吗?我知道如果我要走另一条路(即,将数组传递给需要指针的函数),数组会衰减为指针 - 反过来也有效吗?

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