c++ - 通过引用将数组传递给函数
问题描述
void printElements(int(arr)[4]) // option 1
//void printElements(int(&arr)[4]) // option 2
{
int length( sizeof(arr) / sizeof(arr[0]) );
std:: cout <<"length is "<< length << std::endl;
for (int i( 0 ); i < length; ++i)
{
std::cout << arr[i] << std::endl;
}
}
与主要功能
int main() {
int arr[]{99, 20, 14, 80};
printElements(arr);
}
如所列,两个选项:一个是void printElements(int(arr)[4])
,另一个是void printElements(int(&arr)[4])
。但是第一个将cout
数组的大小为2。第二个说数组的大小为4。为什么会有所不同?
解决方案
推荐阅读
- node.js - AWS S3 预签名 URL 错误
- javascript - 为什么我的 sequelize 查询将十进制列作为字符串返回
- c# - 如何在运行 LibUsbDotNet“入门示例”的 .NET 应用程序中填充 UsbRegDeviceList
- angular - angular 6 scss 背景图像未被读取
- c++ - 为什么同时链接libpng和opencv没有冲突?
- android - 从 SD 卡中获取歌曲的最佳方法
- git - 如何在 Bitbucket 中发布和控制版本
- python - 在 Django 中使用案例
- ruby-on-rails - ActionView::Template::Error(未初始化的常量 `LibObject`):
- asp.net-mvc - ASP.NET MVC 删除函数外部链接路径给出错误