社区
C++ 语言
帖子详情
c++中这样的代码正确么?
dukcho
2004-04-30 03:33:12
你好,我将一个数组传递到函数中,在数组修改完后返回,这样写正确么?
void getData(int[] & data)
~~~~~~~这样写错在什么地方?编译的时候提示&后面缺少括号
我知道使用指针可以,我想试试使用引用,不知道引用&在对数组处理的时候是如何写的。
...全文
115
14
打赏
收藏
c++中这样的代码正确么?
你好,我将一个数组传递到函数中,在数组修改完后返回,这样写正确么? void getData(int[] & data) ~~~~~~~这样写错在什么地方?编译的时候提示&后面缺少括号 我知道使用指针可以,我想试试使用引用,不知道引用&在对数组处理的时候是如何写的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vsfan
2004-04-30
打赏
举报
回复
int[] & data错了
Jinhao
2004-04-30
打赏
举报
回复
template<int SIZE>
void getData(int (&data)[SIZE]){
for(int i=0;i<SIZE;i++)
{
//process data[i]
}
}
xuwedo2003
2004-04-30
打赏
举报
回复
再则我想楼主可能是学了一些JAVA吧,C++中你直接写“int []”是不对的。
rorot
2004-04-30
打赏
举报
回复
这样写
void getData(int data[]);
autoegg
2004-04-30
打赏
举报
回复
就是普渡众生的做法,把数组名作为指针传入函数,这也是最为合理的方法之一。
古布
2004-04-30
打赏
举报
回复
void getData(int(&data)[]); 这样引用一个数组。包括数组的大小
dev-cpp下通过。v6不行。
xuwedo2003
2004-04-30
打赏
举报
回复
同意xorong(普渡众生)
楼主没有必要把一个数组的引用当做参数,直接像 xorong(普渡众生) 所说那样做,效率一点也不会低,而且与你的出错的程序所达到的效果是一样的,而且易懂,而且…………没有而且了。
zhouqingyuan
2004-04-30
打赏
举报
回复
的确不会有这样做的,也没有任何必要,因为不会有也不能改动数组地址的。所以如果非要这样做加引用,最好在前面加上const。
否则等程序崩溃了,你才醒悟过来可不太好。
Inkick
2004-04-30
打赏
举报
回复
说实话,我真没试过数组可以传递引用
Inkick
2004-04-30
打赏
举报
回复
数组名本质是一个指针,你把数组名的引用传递给函数相当于传递了一个二级指针~
fansy007
2004-04-30
打赏
举报
回复
#include<iostream.h>
void getData(int* & data)
{
*data=5;
*++data=3;
}
void main()
{
int x[3]={0,1,2};
int* q;
q=x;
getData(q);
}
//可以传一个指针的引用,q指针移动了一格并被保留了下来
疯狂的魔法
2004-04-30
打赏
举报
回复
这样写:
int a[100];
void getData(int * data);
//调用
getData(a);
liguangwen
2004-04-30
打赏
举报
回复
数组只能用指针来传递,,不存在值传递,所以也不存在利用引用的问题。
qyet
2004-04-30
打赏
举报
回复
为什么不传一个指针呢?
行为树基本概念与BehaviorTree.CPP库在
C++
的
代码
实现
文章介绍了行为树的基本概念以及介绍了MIT开源的行为树实现库——BehaviorTree.CPP的使用,包含部分
C++
的
代码
实现
MATLAB调用CPP
代码
1.环境要求 电脑上同时安装VS及Matlab(本人是Matlab2015b 与VS2015) 2.配置方法 在Matlab命令行窗口
中
输入:mex -setup 并回车 选择第一个选项,完成VS2015的配置 3.编写cpp文件 在VS
中
编写CPP文件 #include “mex.h” double add(double x, double y) { return x + y; } //设置...
C++
Yaml文件解析安装及使用 yaml-cpp
C++
Yaml文件解析安装及使用安装 yaml-cpp克隆官方库编译 yaml-cpp示例
代码
robot.cpprobot.yaml编译 robot.cpp运行结果难点分析与总结什么是 .a 与 .so 文件静态链接库(.a) 与动态链接库(.so)静态链接库动态链接库g++(gcc)编译选项参考文章 安装 yaml-cpp 克隆官方库 git clone https://github.co...
Cpp入门基础
定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}
中
即为命名空间的成员。命名空间
中
可以定义变量/函数/类型等。namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下 ⾯的rand不在冲突了。
C++
中
域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/ 类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。
C++
中
的 .h 和 .cpp 详解
通俗解释:.h和.cpp差不多就像书和目录的关系吧,目录
中
对书
中
的章节和内容进行简单表示,真正的实现是在书里面的。 一般的数据,数据结构,接口,还有类的定义放在.h文件
中
,可以叫他们头文件,可以#include 到别的文件
中
。功能实现一般都放在具体的.cpp文件
中
,这样方便文件管理,节约时间,提高效率。 你完全可以把功能实现一并放在.h文件
中
,也可以#include一个.cpp文件到另一个源文件
中
...
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章