08. oktober 2004 - 11:52
Der er
18 kommentarer og 1 løsning
Funktion der returnere array af int,duoble eller string
Hvordan er det nu lige man returnere et int, double eller et string array fra en funktion? prototype: array(int) FUnktionDetReturnereArray() { //Bla bla }
Annonceindlæg fra Trustworks
Tillid i en Zero-Trust verden
Med voksende trusler, nye EU-krav og øget kompleksitet er cybersikkerhed nu en central ledelsesopgave på linje med strategi og økonomi.
08. oktober 2004 - 11:55
#1
static int buf[10]; int *f() { // fyld noget i buf return buf; }
08. oktober 2004 - 11:55
#2
int *f() { int *buf = new int[10]; // fyld noget i buf return buf; }
08. oktober 2004 - 11:56
#3
void f(int *buf) { // fyld noget i buf }
08. oktober 2004 - 11:56
#4
arne kom først, så skriver jeg bare noget andet så. Du kan ikke retunrere et array, men kun en pointer til det.
08. oktober 2004 - 11:59
#5
okay:-) Hvis man nu får en "array af" bits som man vil manipulere - hvad skal der så gives som parameter til funktionen?
08. oktober 2004 - 13:11
#6
Hvordan repræsenterer du de bits ?
08. oktober 2004 - 13:13
#7
Jeg ved det ikke endnu. Men kan man ikke lave et char array? Kan man så ikke manipulere dette array på bitniveau?
08. oktober 2004 - 13:20
#8
Du kan godt manipulere bits i et char array, men type mæssigt er det så stadigt et char array.
08. oktober 2004 - 13:22
#9
Er der en bedre måde at gøre det på?
08. oktober 2004 - 13:27
#10
Med fast længde vil jeg foreslå en struct med bit felter !
08. oktober 2004 - 13:28
#11
okay - tak.
08. oktober 2004 - 13:28
#12
Ligger du et svar arne_v?
08. oktober 2004 - 13:34
#13
kommer her
08. oktober 2004 - 23:48
#14
Man kan også bruge en std::vector<bool>, den pakker en bool pr bit, og kan returneres fra en funktion.
15. oktober 2004 - 11:41
#15
Hvordan modtaget man så egentligt den pointer til arrayet? Altså foreksempel i en anden klasse?
15. oktober 2004 - 11:57
#16
int *p = f(); int *p = f(); int *p = new int[10]; f(p);
15. oktober 2004 - 12:38
#17
arve_v? Jeg bruger denne version: int *f() { int *buf = new int[10]; // fyld noget i buf return buf; } Gider du at lave et eksempel hvor pointeren er blevet returneret - og hvor alle pladser i arrayet udskrives?
15. oktober 2004 - 12:53
#18
#include <iostream> using namespace std; int *f() { int *buf = new int[10]; for(int i=0;i<10;i++) buf[i]=i; return buf; } int main() { int *p = f(); for(int i=0;i<10;i++) cout << p[i] << endl; delete[] p; return 0; }
15. oktober 2004 - 12:54
#19
Jeg sidder ikke lige ved en PC med en compiler, så check selv for banale fejl
Kurser inden for grundlæggende programmering