c++ strstr 返回值为啥static
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ strstr 返回值为啥static相关的知识,希望对你有一定的参考价值。
tatic const char* _strstr(const char* s1, const char* s2)
assert(s2 && s1);
const char* p=s1, *r=s2;
while(*p!='\0')
while(*p++==*r++);
if(*r=='\0')
return p;
else
r=s2;
p=++s1;
return NULL;
那这种限制对于strstr这种通用api有什么价值呢?
追答能说一下这个函数的出处吗?是从那 个文件中看到的?这种情况见于从外部不是直接调用这个以下划线开头的函数,这个下划线开头的函数是供其它的函数调用的(假设这个函数是strstr()),而从外部是直接调用那个调用下划线开头的函数的函数(即strstr()函数)。
参考技术A static const char* _strstr(const char* s1, const char* s2)assert(s2 && s1);
const char* p=s1, *r=s2;
while(*p!='\0')
while(*p++==*r++);
if(*r=='\0')
return p;
else
r=s2;
p=++s1;
return NULL;
以上是关于c++ strstr 返回值为啥static的主要内容,如果未能解决你的问题,请参考以下文章
为啥 C++ 从 C# 中为返回自定义结构的函数获取错误的参数值
c++ OpenProcess() 函数返回值为啥返回NULL 急需解决!!! 邮箱372199852@qq.com
C 语言字符串模型 ( strstr-while 模型 | 抽象函数模型 | 业务子函数接口定义要点 | 形参指针间接赋值 | 返回值状态 | 形参指针处理 | 形参指针判空 | 形参返回值 )(代码