在程序设计中我们会经常调用函数,调用函数就会涉及参数的问题,那么在形参列表中const形参与非const形参对传递过来的实参有什么要求呢?
先来看一个简单的例子:
#include <iostream>
#include <string>
using namespace std;
void print_str(const string s)
{
cout<<s<<endl;
}
int main()
{
print_str("hello world");
return 0;
}
![](http://hi.csdn.net/attachment/201108/15/0_13134147217bTX.gif)
毫无疑问,const实参传递给const形参,正确调用函数,如果你将第4行代码中的const去掉,也能得到正确的结果。那么在去掉const的基础上将形参变为引用形参,会出现什么样的结果呢?看下面的代码:
#include <iostream>
#include <string>
using namespace std;
void print_str( string & s)
{
cout<<s<<endl;
}
int main()
{
print_str("hello world");
return 0;
}