wie übergebe ich in c++ eine array einer funktion?

J0T4T4  07.03.2023, 12:20

Was für ein Array meinst du?

alex656 
Beitragsersteller
 07.03.2023, 12:25

ein normales kein zweidemensionales

2 Antworten

In reinem C++ ein Beispiel für ein int32-Array:

template <std::size_t N>
void foo(const std::array<std::int32_t, N> &bar)
{
    for(std::size_t i = 0; i < bar.size(); i++)
    std::cout << i << ": " << bar[i] << std::endl;  
}
Woher ich das weiß:Berufserfahrung

Normale Arrays sind im Endeffekt nur Pointer auf das erste Element, dementsprechend einfach

void foo(type* bar, int size);

Es ist weiterhin sinnvoll, ebenfalls noch die Größe mitzugeben. Und noch besser ist es, direkt std::array oder std::vector zu verwenden.

Woher ich das weiß:Studium / Ausbildung – Trust me, I'm an engineer

alex656 
Beitragsersteller
 07.03.2023, 12:56

#include<iostream> 

#include<string>

#include<array> 

#include<cstring>

using namespace std;

void foo (int *p , int size ){}

int main ( int argc , const char * argv []){

array <int , 2 > p = { 2,3 } ; foo(p ,1)

return 0 ; } 

da steht man kann ein std array in in ein int convertieren

0
alex656 
Beitragsersteller
 07.03.2023, 12:47

#include<iostream> 

#include<string>

#include<array> 

#include<cstring>

using namespace std;

int main ( int argc , const char * argv []){

array <int , 2 > p = { 2,3 } ; 

return 0 ; } 

hab nicht alles verstanden was zb das bar ... jetzt ist , wie lautet die funktion oben über int main ..... wo dieses array übergeben wird und was schreibt man unten unter int main .... dazu ?

also ich hab schon jetzt den anfang geschrieben , was fehlt noch

0