【发布时间】:2020-04-23 02:18:02
【问题描述】:
我今天参加了在线编码面试,在尝试计算数组的大小时我真的很吃力。 你能帮我看看如何在这里测量 sizeof 数组吗?我尽力了,但没有运气,请在这里帮忙。
#include<iostream>
#include<map>
#include<vector>
using namespace std;
void arraysize(int* a) {
cout << "size1: "<<sizeof(a) << endl;
cout << "size2: " << sizeof(a[0]) << endl;;
}
int main()
{
int array1[] = { 1,2,3,4,5,6,7,8 };
arraysize(array1);
return 0;
}
结果: 尺寸1:4 尺寸2:4
【问题讨论】:
-
你可以更改
arraysize的签名吗?如果是这样,如果您创建一个接受std::array的模板函数,那么它很简单。 -
函数
arraysize无法根据显示代码中可用的信息确定array1的大小。你被问到的具体问题是什么?如果是如何更改代码以使数组大小可用,那么有几种选择。 -
要读的东西books.google.co.nz/…
标签: c++