C++伴每一天

来源:互联网 发布:finale打谱软件汉化 编辑:程序博客网 时间:2024/04/29 05:43

2015/11/5

   今天叶子木学到的东东是关于引用家族的,不多说,直奔主题,Go。。。

  1) 函数调用语句:string result;

                                  string input;

                                  result=version(input , " *** ");

  2) 函数定义:string version(const string & s1, const string & s2)

                      {

                           stament;

                      }

                     不知道你有没有发现有趣的一点呢,version函数的两个形参(s1和s2)的类型都是const string &,但是实参(input 和“ *** ”)的类型分别是string 和const char* .俺知道input 的类型为string ,因此让s1指向它是 no 问题的,but,俺同样知道带引号的字符串表示地址啊,那为啥可以将char 指针赋给string引用咧???? 

             不得不说C++的特例又来了,string 类定义了一种char* 到string的转换功能,你妹的,又搞特殊,定律如下:

当函数实参的类型与引用参数类型不匹配,但可以被转换为引用类型时,程序将创建一个正确类型的临时变量,使用转换后的实参值来初始化它,然后传递一个指向该临时变量的引用。


0 0
原创粉丝点击