&类型参数的坑

原创 2016年05月31日 19:50:56

大家都知道const&类型参数与&类型参数的区别是能否通过形参更改实参

在传送什么样子的参数上面二者还有一点区别,举个例子

void generate_func(string& s){
    cout<<"this is generate"<<endl;
}
void const_func(const string& s){
    cout<<"this is const"<<endl;
}

const_func("sssss");编译通过

generate_func("sssssss");编译错误

无论哪个调用都使用了隐式转换,将字面值转换为string ,c++不允许将临时量绑定到&形参上面,具体到这里就是string&。

至于为什么不允许呢,没有这个必要罢了。假设允许的话,也没有什么用途,绑定到&上面的是一个临时量,失去了&变量的本意,如此c++就将这种情况列为非法


dubbo、dubbox坑集合

1、加载顺序        http://blog.csdn.net/snowcity1231/article/details/51240091 出现空指针的原因是:spring mvc扫描的...
  • zjilvufe
  • zjilvufe
  • 2017年01月17日 08:34
  • 2043

转PHP开发时,一些常见的坑

1、null和空、0、false等四个值的比较 在PHP中,== 会先进行类型转换,再进行对比,而===会先比较类型,如果类型不同直接返回不相等,参考如下示例 $a = null; $b = ''; ...
  • youbl
  • youbl
  • 2014年11月11日 19:24
  • 4323

慎用mysql的enum字段

但ENUM带来的问题也不少,比如数据迁移的时候,他几乎不可能被其他数据库所支持,如果enum里面是字符串,对于其他数据库来说就更郁闷了,还不能设为tinyint等类型的字段(enum虽然可以存储字符串...
  • u013670173
  • u013670173
  • 2014年04月28日 10:41
  • 1933

ArcGIS教程:地理处理工具参数的数据类型

  • 2014年07月09日 11:59
  • 20KB
  • 下载

inputType参数类型说明

  • 2015年08月05日 11:12
  • 27KB
  • 下载

Android加载各种类型布局的宽高参数

  • 2014年11月28日 09:42
  • 3.03MB
  • 下载

Swift初学之函数参数类型

  • 2014年06月17日 18:48
  • 55KB
  • 下载

C#调用DLL中非托管C++函数参数类型对照

  • 2013年07月25日 17:06
  • 47KB
  • 下载

java 带两个类型参数的泛型

  • 2010年06月21日 16:08
  • 59KB
  • 下载

Java源代码带两个类型参数的泛型的应用.rar

  • 2013年10月31日 13:45
  • 8KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:&类型参数的坑
举报原因:
原因补充:

(最多只允许输入30个字)