关闭

C++数组的引用

1641人阅读 评论(0) 收藏 举报

C++数组的引用
char &ary[],相当于(char &)ary[],ary是数组,数组元素是char &,不是数组的引用.
char (&ary)[],这样ary才是引用,引用对象是数组
引用数组,char[2] char[3]是两种不同的引用对象,故形参应指定数组的大小

 

void fun3(const char(&ary)[2] )
{

}

template <typename T>
void fun1(const T &ary1, const T &ary2)
{

}

template <typename T>
void fun2(const T ary1, const T ary2)
{

}

int main(int argc, char* argv[])
{
    fun1("1", "23"); //fun1实例化为const char[2], const char[3],T被推断成两个类型,故错误
    fun1("1", "2");  //T推断成const char[2]
    fun2("1", "23"); //T推断成const char *
    fun3("1");
    return 0;
}


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:159109次
    • 积分:2017
    • 等级:
    • 排名:第19071名
    • 原创:44篇
    • 转载:16篇
    • 译文:0篇
    • 评论:16条
    最新评论