md5*_*md5 6 c strtol restrict-qualifier
这是如何strtol根据§ 7.22.1.4C11(n1570)声明:
#include <stdlib.h>
long int strtol (const char *restrict nptr,
char **restrict endptr,
int base);
Run Code Online (Sandbox Code Playgroud)
据我所知,restrict关键字意味着左边界引用的对象*nptr只能使用它或直接从中获取的值.
但是,许多程序员,甚至是经验丰富的程序员,都strtol以下列方式使用:
#include <stdlib.h>
strtol (p, &p, 10);
Run Code Online (Sandbox Code Playgroud)
在那种情况下,**endptr == **&p == *p == *nptr行为是未定义的.这样对吗?