std::basic_string ,std::allocator>::size_type?

秋的红果实 2017-07-18 08:34:18
std::basic_string<char std::char_traits<char> ,std::allocator<char>>::size_type这个到底是个什么?请详细说说


看了这个,都有哭的感觉,难道你们每天就工作在这样的环境下
我建了个string对象,点了.,依次看了列出的成员,感觉find就是找子串的,结果提示这个,根据猜想,大致知道怎么用,但不解这个提示,本应该是返回类型和参数类型

string s = "dkjfskdjf";
int index=s.find('s', 0);
cout << index << endl;
system("pause")

...全文
2564 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻夢之葉 2017-07-19
  • 打赏
  • 举报
回复
std::basic_string<char std::char_traits<char> ,std::allocator<char>>::size_type 这是string模板类中定义的一个无符号整形数,能完全足够表示string的大小或索引

string::size_type index = s.find('s', 0);
if(index == string::npos) //string::npos表示无效位置,即没有找到
开心秋水 2017-07-18
  • 打赏
  • 举报
回复
建议使用 auto 自动推断变量的类型 auto index=s.find('s', 0);
sdghchj 2017-07-18
  • 打赏
  • 举报
回复
复杂点的模板就是这样,里面对类型进行了很多的typedef。 翻进去看会发现那一长串其实就是对std::size_t的typedef,而size_t本身就是unsigned int的typedef,归根结底就是无符号整型。

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧