[cpp] 关于const char * const &

ling xl-yc-lzj at necsoft.com.cn
Wed Jul 19 16:04:34 CST 2006


请问下面代码的函数min和min1有什么区别啊。
为什么函数min取得的比较结果不对呢?另外如果数组a,b的声明
前面加上const的话,函数min取得的结果就对了。
函数min1不管有没有const都能得到正确的结果。

#include <cstring>
#include <iostream>
using namespace std;

const char* const& min(const char* const& a, const char* const& b)
{
 cout << "a = " << a << endl;
 cout << "b = " << b << endl;
 return (strcmp(a, b) < 0) ? a : b;
}

const char* const min1(const char* const a, const char* const b)
{
 return (strcmp(a, b) < 0) ? a : b;
}

int main()
{
 char a[] = "123";
 char b[] = "456";

 cout << min(a, b) << endl;
  cout << min1(a, b) << endl;
} 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://codingnow.com/pipermail/cpp/attachments/20060719/1d5f0054/attachment.html


More information about the Cpp mailing list