string buff(str);
char parenthesis = ')';
str.assign(buff.begin() + buff.find_first_not_of(parenthesis),buff.begin() + buff.find_last_not_of(parenthesis) + 1);
请详细解释一下第三条代码的意思。。。
C++中关于assign的问题
答案:2 悬赏:80 手机版
解决时间 2021-03-06 20:53
- 提问者网友:疯孩纸
- 2021-03-05 21:47
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-03-05 22:39
为什么不自己google一下呢?
其实很简单,你拆成一个一个就可以了。
string 本身你可以把它当成一个字符的容器(类似于 stl中的容器):
1) string::begin()返回一个迭代器,指向它的第一个字符元素
2) string::find_first_not_of() 返回一个size_type,(类似于ptr_diff)的东西,查找在字符串中第一个与str中的某个字符匹配的字符
3) find_last_not_of() 则是找最后一个
4) string::assgin(const_iterator _first, const_iterator_last)则是把_first, _last这两个迭代器之间的string赋给另外一个string
比如说string buff(str); 中str 为“google)”;
那么赋值后,str的结果为google
其实很简单,你拆成一个一个就可以了。
string 本身你可以把它当成一个字符的容器(类似于 stl中的容器):
1) string::begin()返回一个迭代器,指向它的第一个字符元素
2) string::find_first_not_of() 返回一个size_type,(类似于ptr_diff)的东西,查找在字符串中第一个与str中的某个字符匹配的字符
3) find_last_not_of() 则是找最后一个
4) string::assgin(const_iterator _first, const_iterator_last)则是把_first, _last这两个迭代器之间的string赋给另外一个string
比如说string buff(str); 中str 为“google)”;
那么赋值后,str的结果为google
全部回答
- 1楼网友:野味小生
- 2021-03-05 23:06
string::assign()
// string::assign
#include
#include
using namespace std;
int main ()
{
string str;
string base="the quick brown fox jumps over a lazy dog.";
// used in the same order as described above:
str.assign(base);
cout << str << endl; ...展开string::assign()
// string::assign
#include
#include
using namespace std;
int main ()
{
string str;
string base="the quick brown fox jumps over a lazy dog.";
// used in the same order as described above:
str.assign(base);
cout << str << endl;
str.assign(base,10,9);
cout << str << endl; // "brown fox"
str.assign("pangrams are cool",7);
cout << str << endl; // "pangram"
str.assign("c-string");
cout << str << endl; // "c-string"
str.assign(10,'*');
cout << str << endl; // "**********"
str.assign(10,0x2d);
cout << str << endl; // "----------"
str.assign(base.begin()+16,base.end()-12);
cout << str << endl; // "fox jumps over"
return 0;
}
list::assign
// list::assign
#include
#include
-
using namespace std;
int main ()
{
list
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯