📄 回复这个简单的程序用到了重载函数,但我看不太懂,尤其是不明白while后的条件表达式的意思.txt
字号:
作者:rick1126
email: rickzhang@sina.com
日期:8/8/2001 9:37:50 PM
////////////////////////////////////////
#include <iostream>
////////////////////////////////////////
// The first version of string_copy().
////////////////////////////////////////
void string_copy(char *dest, const char* src)
{
while((*dest++ = *src++) != '\0')
/*
因为第二个参数src是一个指向常量的普通指针
为此这个操作就是将第一个参数的指针及其后续
地址统统指向src所在的存储单元, 直到遇到第
一个0终止符为止
*/
;
}
////////////////////////////////////////
// The second version of string_copy().
////////////////////////////////////////
void string_copy(char* dest, const char* src, int len)
{
while (len && (*dest++ = *src++) != '\0')
--len;
while (len--)
*dest++ = '\0';
/*
有了第一个函数的说明, 这里就不难了, 其附加了
一个长度参数, 如果src的字符串长度大于等于给出
的长度参数, 则就去长度参数指定的值, 反之还是
和第一个一致, 但是注意不要忘记末尾的0终结符
赋值
*/
}
char misspiggy[20], kermit[20];
////////////////////////////////////////
// The main() function.
////////////////////////////////////////
main()
{
string_copy(misspiggy, "Miss Piggy");
string_copy(kermit, "Kermit, the file transfer protocol", 6);
std::cout << kermit << " and " << misspiggy;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -