Avatar billede kjeldsted Novice
27. september 2011 - 20:28 Der er 8 kommentarer og
1 løsning

Længde af array i C++

Hejsa folkens.

Jeg er ikke voldsomt meget inde i lige C++ og min erfaring med dette sprog er begrænsede. Men kender dog en hel del til PHP, der jo til tider er en fordel. Jeg mangler dog pludselig en masse funktioner (ikke så overraskende).

Mit problem består i at jeg har et array, hvor jeg rigtigt gerne vil kende størrelsen på dette array. Altså hvor mange elementer der er i arrayet?

Det ville lette en hel del på arbejdet, hvis jeg kunne finde dette tal automatisk i stedet for at skulle tælle manuelt.

Mvh. Jens Kjeldsted
Avatar billede arne_v Ekspert
27. september 2011 - 21:07 #1
Hvis du har en:

int a[10]

vil sizeof(a)/sizeof(int) give dig 10.

Hvis du har en:

int a[]

eller:

int *a

er det umuligt at finde stoerrelsen.
Avatar billede arne_v Ekspert
27. september 2011 - 21:08 #2
Jeg vil anbefale dig at bruge vector template klassen.

Den svarer nogenlunde til et PHP array.
Avatar billede kjeldsted Novice
27. september 2011 - 21:37 #3
Hm... Øv, også.

Nå. Men man skal vel også lærer noget nyt en gang imellem.

Hvis vi så antager at vi skal lave en vector der skal indeholde fx. (0x02, 0x1D, 0x30, 0x32), som jo skal kunne tilgås med index, altså ligesom array[0], hvordan skal den så initialiseres?
Avatar billede arne_v Ekspert
27. september 2011 - 21:53 #4
Noget a la:

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<char> v;
    v.push_back(0x02);
    v.push_back(0x1D);
    v.push_back(0x30);
    v.push_back(0x32);
    for(int i = 0; i < v.size(); i++)
    {
        cout << (int)v[i] << endl;
    }
    return 0;
}
Avatar billede kjeldsted Novice
27. september 2011 - 21:58 #5
Det er jo smukt Arne. Mange, mange tak.
Puha. Man har vist meget at lærer, inden man får styr på det der C++. Men man nærmer sig vist.

Hvis jeg husker rigtigt (skal undskylde hvis det ikke er sandt), ønsker du ikke points?
(Tager jeg fejl smider du selvfølgelig bare et svar :) )
Avatar billede arne_v Ekspert
27. september 2011 - 22:05 #6
jeg samler faktisk paa point
Avatar billede arne_v Ekspert
27. september 2011 - 22:05 #7
Det er Erik og Bertel som er staaet af det raes
Avatar billede arne_v Ekspert
27. september 2011 - 22:06 #8
C++ er et forholdsvist komplekst sprog, men man behoever jo ikke mestre alle krinkelkroge for at kunne lave noget brugbart i sproget.
Avatar billede kjeldsted Novice
27. september 2011 - 22:20 #9
Ah. Det er jeg ked af :) Du får dine points hér.

Og, ja. Det har jeg fundet ud af det er. Men fik mandag til opgave at lave et mindre program på arbejdet, som jeg jo måtte gå til. Og pt. er det med array'et det eneste der ikke lige var på plads. Men man lærer vel også tingene med tiden.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester