有什么区别:
void foo(item* list)
{
cout << list[xxx].string;
}
和
void this(item list[])
{
cout << list[xxx].string;
}
假设项目是:
struct item
{
char* string;
}
指针指向字符数组的第一个
和list
只是一个项目数组...
最佳答案
对于编译器来说,没有区别。
虽然读起来不一样。 []
表示您想要将数组传递给函数,而 *
也可能意味着只是一个简单的指针。
请注意,当作为参数传递时,数组会衰减为指针(以防您不知道)。
关于C++ * vs [] 作为函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10760893/