【转载】让c++ 函数返回一个数组

在c++中是不允许数组作为函数的返回值的 

int [] someFunction( ); //ILLEGAL 

要想实现函数返回一个数组,那返回对应数组里面类型的指针

you must return a pointer to the array base type and have the pointer point to the array. So, the function declaration would be as follows:
 int* someFunction( ); //Legal

int* doubler( int a[], int size)
{
int* temp = new int[size];
for ( int i =0; i < size; i++)
 temp[i] = 2*a[i];
 return temp;
 }

调用

int a[] = {1, 2, 3, 4, 5};
int* b;
b = doubler(a, 5);

delete[] b
时间: 2024-12-15 21:15:10

【转载】让c++ 函数返回一个数组的相关文章

让c++ 函数返回一个数组

让c++ 函数返回一个数组 在c++中是不允许数组作为函数的返回值的 int [] someFunction( ); //ILLEGAL 要想实现函数返回一个数组,那返回对应数组里面类型的指针 you must return a pointer to the array base type and have the pointer point to the array. So, the function declaration would be as follows:  int* someFun

c++函数返回一个数组

---恢复内容开始--- 调用某个函数时经常需要函数返回一个值,我们都知道c++ 的函数返回的是一个copy,所以当只返回一个值时不会出现什么问题,直接return一个copy就行了,但是如果返回一个数组,事情就变得有趣了,我最近就遇到了这个问题. 先附上代码吧: #include<iostream> using namespace std; //函数声明 int * fun1(); int * fun2(); void dispArr(int *arr ,int n); const int

C语言之实现函数返回一个数组,以及选择排序,还有折半查找。这是同学的一个作业。。。

作业的具体要求如下: 编写一个完整的程序,实现如下功能.(1)    输入10个无序的整数.(2)    用选择排序法将以上接收的10个无序整数按从大到小的顺序排序.(3)    要求任意输入一个整数,用折半查找法从排好序的10个数中找出该数,若存在,在主函数中输出其所处的位置,否则,提示未找到.提示:可定义input函数完成10个整数的输入,sort函数完成输入数的排序,search函数完成输入数的査找功能. 下面是具体代码:(本人懒,没写注释,不过仔细看代码,还是很简单的) 1 #inclu

[编程之美]写一个函数,返回一个数组中所有元素被第一个元素除的结果

题目: 写一个函数,返回一个数组中所有元素被第一个元素除的结果: 错误的版本: void DivArray(int *array, int n) { for (int i = 0; i < n; ++i) { array[i] /= array[0]; } } 错误原因:在循环的第一步,第一个元素就变成了1,然后再用它去除以其他元素,就不符合题目要求了 改进: 1:使用其他变量保存第一个元素: void DivArray3(int *array, int n) { assert(array !=

面试题--&gt;写一个函数,返回一个数组中所有元素被第一个元素除的结果

1 package com.rui.test; 2 3 import java.util.Random; 4 5 /** 6 * @author poseidon 7 * @version 1.0 8 * @date:2015年10月25日 上午11:12:24 9 * @description: 面试题-->写一个函数,返回一个数组中所有元素被第一个元素除的结果 10 * 陷阱: 11 * 1.循环需要倒着写,为什么? 12 * 想想顺着写循环的结果,第一个元素的值会发生变化门后面再除就会有问

array_flip() 函数返回一个反转后的数组

定义和用法 array_flip() 函数返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失. 如果原数组中的值的数据类型不是字符串或整数,函数将报错 array_unique() 函数移除数组中的重复的值,并返回结果数组. 当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除. 返回的数组中键名不变. 在PHP中,用于删除数组中重复元素有一个可用的函数,那就是 array_unique(), 但是它并不是一个最高效的方法,使用array_fl

Entity Framework 6 Recipes 2nd Edition(11-2)译 -&gt; 为一个”模型定义”函数返回一个计算列

11-3. 为一个”模型定义”函数返回一个计算列 问题 想从”模型定义”函数里返回一个计算列 解决方案 假设我们有一个员工(Employee)实体,属性有: FirstName, LastName,和BirthDate, 如 Figure 11-3所示. Figure 11-3. An Employee entity with a few typical properties 我们想要创建一个”模型定义”函数,让它返回FirstName 和LastName 合并后的full name . 我们想

Entity Framework 6 Recipes 2nd Edition(11-5)译 -&gt; 从”模型定义”函数返回一个匿名类型

11-5. 从”模型定义”函数返回一个匿名类型 问题 想创建一个返回一个匿名类型的”模型定义”函数 解决方案 假设已有游客(Visitor) 预订(reservation)房间(hotel ) 的模型,如Figure 11-5所示. Figure 11-5. A model for hotel reservations 想要返回每位游客房间预订条数和带来的总收入.因为很多地方需要这些信息,所以想要创建一个”模型定义”函数,接受一个查询参数,返回一个包含游客合计信息的匿名类型的集合: 2. 把Li

Entity Framework 6 Recipes 2nd Edition(11-1)译 -&gt; 从“模型定义”函数返回一个标量值

第11章函数 函数提供了一个有力代码复用机制, 并且让你的代码保持简洁和易懂. 它们同样也是EF运行时能利用的数据库层代码.函数有几类: Rowset Functions, 聚合函数, Ranking Functions, 和标量值函数. 函数要么确定,要么不确定.当用一些指定的值调用函数,而函数返回的结果总是一样时,它就是确定的函数.当甚至用同样的一些值调用时,而函数每次返回的结果也可能不一样,它就是不确定的函数. 在前七小节,我们探讨“模型定义”的函数,这些函数允许我们在概念层上创建.这些函