int n=sizeof(arr)/sizeof(arr[0])可以用其他的程序替换吗
时间: 2024-05-07 20:21:08 浏览: 57
sizeof运算符-C++程序设计(谭浩强完整版)
这行代码是用来计算数组 `arr` 的长度,可以替换成其他计算数组长度的方式,比如:
1. 使用 C++11 标准提供的 `std::size` 函数,即 `std::size(arr)`。
2. 使用模板元编程技术,定义一个 `constexpr` 函数来计算数组长度,如下所示:
```
template <typename T, std::size_t N>
constexpr std::size_t array_size(const T(&)[N]) noexcept {
return N;
}
```
然后在代码中调用该函数即可,如 `array_size(arr)`。
3. 如果是 C++17 及以上版本,可以使用 `std::size(arr)`,它与第一种方式相同。
阅读全文