提示:本文是我在刷leetcode题目时遇到关于C++ 类的常用方法以及一些坑点。
一、string.size() 和 string.length()
看下面代码
string s = “asd”;
cout<<s.size()<<endl;
cout<<s.length()<<endl;
结果显而易见
因为这个函数返回字符串的长度
但它还是有一个小坑 如下
string s = “asd”;
cout<<s.size()-4<<endl;
cout<<s.length()-4<<endl;
理论上输出结果应该为-1 -1
但实际结果为:
这是因为strign.size() 和string.length()函数返回的值是一个无符号整数
即unsigned(-1)=4294967295
二、string.substr()
string.substr(i, [length])
该函数的作用是截取字符串从第i个字符起长度为length的字符子串
如:
说明 如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到 string 的最后
另外提个问题 C++字符串好像没有substring函数,这点我不是很确定,在网上查了也是模模糊糊,希望有懂的人可以留言告诉我呀~
三、vector.assign()
函数原型
void assign(const_iterator first,const_iterator last);
void assign(size_type n,const T& x = T());
功能
将区间[first,last)的元素赋值到当前的vector容器中,或者赋n个值为x的元素到vector容器中,这个容器会清除掉vector容器中以前的内容。
如:
总结
上面的一些小知识点其实都很简单,我更多的是记下来给自己看呀~