我的问题是,这段代码是做什么的(来自http://www.joelonsoftware.com/articles/CollegeAdvice.html):
while (*s++ = *t++);
Run Code Online (Sandbox Code Playgroud)
网站说上面的代码复制了一个字符串,但我不明白为什么......
它与指针有关吗?
在我的SAX xml解析回调(XCode 4,LLVM)中,我正在对这种类型的代码进行大量调用:
static const char* kFoo = "Bar";
void SaxCallBack(char* sax_string,.....)
{
if ( strcmp(sax_string, kFoo, strlen(kFoo) ) == 0)
{
}
}
Run Code Online (Sandbox Code Playgroud)
假设strlen(kFoo)由编译器优化是否安全?
(Apple示例代码已经预先计算了strlen(kFoo),但我认为这对于大量常量字符串很容易出错.)
编辑:优化的动机:使用NSXMLParser在iPod touch 2G上解析我的SVG地图需要5秒钟(!).所以,我想切换到lib2xml,并优化字符串比较.