-1
我想在C++中獲得整數數組的大小。如果一個方法需要一個int *我如何獲得該值的大小?如何獲得int *的大小?
int myMethod(int* values)
{
values.size();
}
這給予編譯錯誤
我想在C++中獲得整數數組的大小。如果一個方法需要一個int *我如何獲得該值的大小?如何獲得int *的大小?
int myMethod(int* values)
{
values.size();
}
這給予編譯錯誤
你可以得到的指針的大小爲整數與sizeof(int*)
。
但是,給定一個指針值,沒有可移植的方式(使用C或C++)來獲得指向內存區域的動態運行時間大小(在堆或其他地方)。
一般建議是避免原始指針可能時:使用smart pointers(從<memory>
頭)和standard C++ containers(如std::vector
從<vector>
)
所以,如果你宣佈std::vector<int> values;
你可以得到與values.size();
矢量大小你的意思是你已經通過一個數組,並希望找到它的長度? – nos
@nos是的,這是正確的 – Robert
你不能,尺寸需要作爲參數傳遞。更好地使用'std :: vector'。 –