我想在C ++中获得整数数组的大小。如果方法接受int *我如何获得该值的大小?
int myMethod(int* values)
{
values.size();
}
这会产生编译错误
答案 0 :(得分:5)
你可以得到指向sizeof(int*)
整数的指针的大小。
但是,给定一个指针值,没有可移植的方式(在C或C ++中)来获取指向的内存区域的动态-runtime-大小(在堆中或其他地方)。
一般建议是尽可能避免使用原始指针:使用smart pointers(来自<memory>
标头)和standard C++ containers(例如来自<vector>
的{{3}})< / p>
因此,如果您声明std::vector<int> values;
,则可以使用values.size();