Avatar billede anjensen1 Novice
16. maj 2005 - 14:48 Der er 4 kommentarer og
1 løsning

syntax med vinkelparanteser

hej
hvad er det nu lige man bruger vinkelparanteser til i forbindelse med arrays
eg eks:
    array<SInnumb> myType;
Hvor
array<SInnumb> er en 'kerne' (eg ikke noget vi slev har lavet) type i en abstrakt klasse (eg pure virtual)
NB det er ikke template det drejer sig om -jeg husker svagt at det er noget med at fylde array op på en speciel måde??
-eller?
mvh.a .
Avatar billede arne_v Ekspert
16. maj 2005 - 15:01 #1
generisktype<entype> bruges i C++ i forbindelse med templates

jeg nægter at trop på at det kan betyde andet

men i .NET 2.0 har Microsoft lavet en ny template class array til at håndtere
managed arrays i managed C++

er det den du tænker på ?
Avatar billede anjensen1 Novice
16. maj 2005 - 15:16 #2
ay.. er det alligevel templates..
jeg tar dig 100% til indtægt -Hvis du siger at du ikke kender anden brug så er jeg ikke den der siger noget andet..
Det jeg husker er så nok noget fra et andet dumt sprog
Tak Arne!
nb læg svar :)
Avatar billede arne_v Ekspert
16. maj 2005 - 15:57 #3
ok
Avatar billede arne_v Ekspert
16. maj 2005 - 16:08 #4
jeg kan lave et lille eksempel

standard C++:

#include <iostream>

using namespace std;

int main()
{
    int a[] = { 1, 2, 3, 4, 5 };
    for(int i = 0; i < sizeof(a)/sizeof(int); i++) cout << a[i] << endl;
    int bl = 5;
    int *b = new int[bl];
    for(int i = 0; i < bl; i++) b[i] = i+1;
    for(int i = 0; i < bl; i++) cout << b[i] << endl;
    delete[] b;
    return 0;
}

managed C++ 7.0 & 7.1:

#using <mscorlib.dll>

using namespace System;

int main()
{
    int a __gc[] = { 1, 2, 3, 4, 5 };
    for(int i = 0; i < a->Length; i++) Console::WriteLine(a[i]);
    int b __gc[] = new int __gc[5];
    for(int i = 0; i < b->Length; i++) b[i] = i+1;
    for(int i = 0; i < b->Length; i++) Console::WriteLine(b[i]);
    return 0;
}

managed C++ 8.0:

#using <mscorlib.dll>

using namespace System;

int main()
{
    array<int>^ a = { 1, 2, 3, 4, 5 };
    for(int i = 0; i < a->Length; i++) Console::WriteLine(a[i]);
    array<int>^ b = gcnew array<int>(5);
    for(int i = 0; i < b->Length; i++) b[i] = i+1;
    for(int i = 0; i < b->Length; i++) Console::WriteLine(b[i]);
    return 0;
}
Avatar billede anjensen1 Novice
17. maj 2005 - 09:57 #5
woo.. interessant.. Tak Arne!
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