如何通过使用 size 函数 not (sizeof) 来获取已经声明的数组中的元素数量

问题描述 投票:0回答:1

如何使用

size()
函数而不是
sizeof()
来获取已声明数组中的元素数量?

我通过使用

sizeof()
begin()
end()
函数做到了这一点,但是
size()
函数怎么样?

#include <iostream>
using namespace std;

int main()
{
    int nums[] = {10, 20, 30, 40, 20, 50};
    
    // Method 1
    cout << sizeof(nums) / sizeof(nums[0]) << "\n";
    
    // Method 2
    cout << end(nums) - begin(nums) << "\n";
    
    // Method 3
    // ???

    return 0;
}
c++ arrays function size
1个回答
0
投票

使用

std::size()
,例如:

#include <iostream>
#include <array>
using namespace std;

int main()
{
    int nums[] = {10, 20, 30, 40, 20, 50};
    
    // Method 1
    cout << sizeof(nums) / sizeof(nums[0]) << "\n";
    
    // Method 2
    cout << end(nums) - begin(nums) << "\n";
    
    // Method 3
    cout << size(nums) << "\n";

    return 0;
}

为了更好地衡量,这里有另一种方法:

#include <array>

std::array<int, 6> nums{10, 20, 30, 40, 20, 50};    

std::cout << nums.size() << "\n";
© www.soinside.com 2019 - 2024. All rights reserved.