C++和Java函数传递数组参数比较
2024-08-26 14:27:46
如果我想实现函数参数传递数组的业务需求,在Java中很容易实现,如下所示。因为Java有.length方法,可以获取数组的长度。
public class Test {
public static void show(int[] a){
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
public static void main(String[] args) {
int[] a = new int[]{1,2,3,4,5,6};
show(a);
}
}
而C++则不然,由于它没有.length方法,它的一般写法如下:
void show(int *a, int length){
for(int i = ; i < length; i++){
cout<<a[i]<<endl;
}
} int main(){
int a[] = {,,,,};
show(a, );
}
如果想传递二维数组的话,C++写法如下:
void show(int **a, int length){
for(int i = ; i < length; i++){
for(int j = ; j < length; j++){
cout<<*((int*)a + length*i + j)<<"\t";
}
cout<<endl;
}
} int main(){
int a[][] = {{,},{,}};
show((int **)a, );
}
参考博客:http://blog.csdn.net/hongjiqin/article/details/5739935
参考博客:http://blog.csdn.net/liyongbao1988/article/details/7463481
最新文章
- 【Java EE 学习 22 上】【文件上传】【目录打散】【文件重命名】
- 以代码爱好者角度来看AMD与CMD
- Hello Mybatis 03 数据关联
- 1 mysql的安装
- 【Visual Lisp】Visual Lisp属性与方法
- 命令行下打WAR包
- 键盘控制div移动
- 九度OJ1468
- [PWA] 3. Devtool
- Node.js学习 - Install and Configure
- C++ 头文件系列(sstream)
- FineUIMvc随笔 - 不能忘却的回发(__doPostBack)
- sodu 命令场景分析
- linux下线程的两种封装方式
- 测试&;标准说明文章
- Linux-网络综合实验
- Identity Server 4 中文文档(v1.0.0)
- linux下的QT打包方法
- java Boolean和boolean的区别
- Lambda表达式中的GroupBy使用的正确姿势