C++ C++;语法简单

C++ C++;语法简单,c++,C++,我需要一些帮助来解释这两行代码。。我是新的C++,并尝试通过CPLUS加引用,但仍然无法解决这个问题。 此函数接受一个序列和一个文本体,并返回文本中出现的seq。。。 我不知道什么尺码。。销售时点情报系统。。或者非营利组织。。非常感谢 unsigned int countOccurrences(const std::string& seq, const std::string& text){ size_t count(0); size_t pos(0); while(

我需要一些帮助来解释这两行代码。。我是新的C++,并尝试通过CPLUS加引用,但仍然无法解决这个问题。 此函数接受一个序列和一个文本体,并返回文本中出现的seq。。。 我不知道什么尺码。。销售时点情报系统。。或者非营利组织。。非常感谢

unsigned int countOccurrences(const std::string& seq, const std::string& text){
  size_t count(0);
  size_t pos(0);
  while((pos=text.find(seq, pos))!=std::string::npos) {
    ++pos;
    count++ ;
  }
  return count;
}

npos
指示字符串的结尾(可以将其视为end()的索引版本)
pos
是在搜索字符串中找到的搜索字符串的位置。它在每次迭代中都会递增,以便每次都搜索新的事件
size\u t
是一种无符号整数类型,适用于表示内存中对象的大小

在此实现中,会计算重叠出现的次数,例如


在“xaaay”中计算“aaa”将计算2次出现。

std::string::npos
范围解析只是说
nops
来自
string
范围,而
字符串
位于
std
范围。和
size\u t计数(0)不是语法错误???@SJayesh否,
size\u t count(0)
不是语法错误。它将
size\u t count
初始化为
0
值。想一想,如果您使用的不是
size\t
而是用户定义的类型(以vector为例),这意味着什么<代码>标准::向量myVector(0)
不是语法错误。@Justin,是的,找到了:)。而
size\u t
只是针对sizeof()的returntype userd