在c++ 11 中可以通过auto来推断string对象长度的实际类型。
size函数返回string对象的长度(即string对象中字符的个数),这样看来size函数的函数类型是unsigned类型。但是size函数返回的是一个string::size_type类型的值。
但是我们不太清楚什么是string::size_type但是我们应该了解的是这应该是一个无符号的类型的值而且能足够放下任何string大小的对象。
#include <iostream>
#include <string>
/*
run this program using the console pauser or add your own getch, system("pause") or input loop
比较输入的两个字符串是否相等
*/
using namespace std;
int main(int argc, char** argv) {
string s1, s2;
cout << "请输入两个字符串:"<< endl;
cin >> s1 >> s2;
auto len1 = s1.size();
auto len2 = s2.size();
if(len1 == len2)
cout << "两个字符串长度相等" <<endl;
else if(len1>len2)
cout<< s1 << "比" << s2 << "的长度多" << len1- len2 <<endl;
else
cout<< s2 << "比" << s1 << "的长度多" << len2- len1 <<endl;
return 0;
}