C++数组的引用

原创 2012年03月26日 15:18:35

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;
}


 

C++的数组元素为什么不能是引用类型

感谢原作者分享:http://blog.xinspace.space/2015/01/25/cpp-array-element-not-ref/ 这几天在看c++基础内容,看到数组的...

C#引用c++DLL结构体数组注意事项

最近做的项目,需要在C# 中调用C++ 写的DLL,因为C# 默认的编码方式是Unicode,而调用的DLL规定只处理UTF8编码格式的字符串,DLL中的输入参数类型char*被我Marshal成by...

C++数组引用

1 .在C++中可以定义数组的引用,用以解决C中无法解决的“数组降价”问题,我们先来看看什么是“数组降价”,先看如下代码:  … void Test( char array[20]...

C++传引用数组

Passing an Array to a Function Last updated Jun 17, 2005. In aprevious column, I claimed that pass...

【C++】指针,数组名,引用的区别

1. 指针 申明一个对象的指针,即在内存
  • yi_ya
  • yi_ya
  • 2014年10月14日 22:17
  • 214

C++引用形参+模板---解决数组指针退化为指针

C/C++中如果一个函数接受一个数组作为参数,那么数组将会被退化为指针,如果定义如下代码://数组arr的大小未知。 int arrsize(int arr*) { cout ...

【c++基础】6.内存机制、指针、引用、动态数组及实例

本章从c++的内存机制入手,首先介绍堆栈等内存机制,然后介绍指针、引用这两种核心的地址操作手段,最后介绍数组以及动态数组,在学习数组这种用户自定义类型的同时,加深对指针和内存机制的了解。【一】内存机制...

lua使用C++的指针、引用、值、数组

在使用C++进行Lua扩展时,C++中丰富的参数接受、处理方式包括指针、引用、值传递、数组等,会使人疑问,这种函数在Lua中该怎样调用。 一、指针、引用,假设是这样一个demo,代码如下//demo...

C++中如何定义某个数组的引用?

我要定义一个函数,以某个数组为参数。函数中要计算这个数组的长度。 如果是在外面,可以直接用诸如sizeof a/sizeof a[0]这样的方法得到,但是我把a作为参数传到函数中后,这个形参就是指针类...

C++总结1——指针和引用/数组的区别

1.指针和引有什么区别?(从反汇编角度回答) a.其实引用和指针本质上是一样的,他们的汇编指令都是两行。 int a = 10; int *p = &a; //lea eax,[a] ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++数组的引用
举报原因:
原因补充:

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