C++求解数组长度的方法(包含求解vector和字符串求解的方法)

对于一个C++的初学者,在如何求解数组长度问题上可能会稍有混乱,因为求解长度的方法有很多,比如size()、length()、sizeof()等函数,今天我就和大家一起学习如何求解数组长度,并探讨size()、length()、sizeof()这三个函数的用法与区别。

1.sizeof()函数

首先解答如何求解数组长度这个问题,大家应当使用sizeof()函数。sizeof()函数的功能是确定数据类型或变量在内存中所占的字节数。举个例子:

#include
#include
using namespace std;
int main(void) {
	int a[5] = { 1,2,3,4,5 };
	cout << "int类型的字节数为:" << sizeof(int) << endl;
	cout << "数组a的总字节数为:" << sizeof(a) << endl;
	cout << "数组a中每一个元素占字节数为:" << sizeof(a[0]) << endl;
	cout << "数组a的长度为:" << sizeof(a)/ sizeof(a[0]) << endl;      //求解数组a的长度
}

运行后得到的结果是:

C++求解数组长度的方法(包含求解vector和字符串求解的方法)_第1张图片

 可以看到,使用sizeof(a)/ sizeof(a[0])的方法就可以求出数组的长度。

2.size()函数

size()函数可以求解字符串长度以及vector类型的长度,但是不可以求解数组的长度。举个例子:

#include
#include
using namespace std;
int main(void) {
	vectorb;
	string str = "abcabc";
	for (int i = 0; i < 10; i++) {
		b.push_back(i);
	}	
	cout << "b的长度为:" << b.size() << endl;      //求解b的长度
	cout << "str的长度为:" << str.size() << endl;      //求解str的长度
}

结果如下:

 可以看到使用size()函数可以轻松求解出字符串长度以及vector类型的长度,但是若对数组使用size()函数,将会报错,大家可以自行尝试,我就不做演示了。

3.length()函数

length()函数只用于求解字符串长度,举个例子:

#include
using namespace std;
int main(void) {
	string str = "abcabc";
	cout << "str的长度为:" << str.length() << endl;      //求解str的长度
}

若将string修改为数组,将会报错,如下图所示:

C++求解数组长度的方法(包含求解vector和字符串求解的方法)_第2张图片

你可能感兴趣的:(C++,c++,算法,开发语言)