mboost-dp1
STL - i Visual express C++ ?? hvordan?
- Forside
- ⟨
- Forum
- ⟨
- Programmering
hey, jeg skal bruge SGI's standaret template library i forbindelse med programmering i c++ på e-ingeniørstudiet, men hvordan kommer jeg til at bruge det, kan ikke finde ud af det via google hvordan jeg skal installere det!
og hvis jeg kigger på Visual Express -MSDN står der at der er Standard Template Library (STL) indbygget i den, men jeg kan ikke komme til at benytte funktionen 'reverse'
mit nuværende lille prøveprogram ser sådan ud? -fejl= reverse er ukendt for compileren!
og hvis jeg kigger på Visual Express -MSDN står der at der er Standard Template Library (STL) indbygget i den, men jeg kan ikke komme til at benytte funktionen 'reverse'
mit nuværende lille prøveprogram ser sådan ud? -fejl= reverse er ukendt for compileren!
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{
double A[6] = { 1.2, 1.3, 1.4, 1.5, 1.6, 1.7 };
reverse(A, A + 6);
for (int i = 0; i < 6; ++i)
cout << "A[" << i << "] = " << A[i];
return 0;
}
#3
Kort sagt et object, som du kan bruge til at løbe gennem en sekvens.
http://www.cppreference.com/wiki/stl/iterators
Kort sagt et object, som du kan bruge til at løbe gennem en sekvens.
http://www.cppreference.com/wiki/stl/iterators
Spiderboy (5) skrev:#3
Kort sagt et object, som du kan bruge til at løbe gennem en sekvens.
http://www.cppreference.com/wiki/stl/iterators
fedt, det gav mening, kort men godt! :) takker
#6
Det er ikke en dårlig idé at finde kode-eksempler i et simplere sprog som fx Java/C# for at se hvordan noget fungerer, specielt når vi taler om C++.
Fx noget så simpelt som iterators er udpenslet som den store videnskab i C++ bøger, selvom det faktisk bare er en smartere måde (måske mere effektiv måde) at hente og bearbejde objekter som er i en collection/container, uden at bruge alverdens smarte tricks i for/while løkker.
Det er ikke en dårlig idé at finde kode-eksempler i et simplere sprog som fx Java/C# for at se hvordan noget fungerer, specielt når vi taler om C++.
Fx noget så simpelt som iterators er udpenslet som den store videnskab i C++ bøger, selvom det faktisk bare er en smartere måde (måske mere effektiv måde) at hente og bearbejde objekter som er i en collection/container, uden at bruge alverdens smarte tricks i for/while løkker.
Iterators i sprog uden mulighed for 'yield' er dog noget så meningsløst.
I C++ og Java er iterators en løsning på hvad der i C# findes som foreach. Det har ikke så meget med rigtige iterators at gøre (som f.eks. når man henter data fra en database).
Python og C# er meget bedre at kigge på hvis man skal forstå rigtige iterators. Samtidig kan man se hvor dårligt det er implementeret i de anre sprog.
IEnumerable<T> sammen med 'yield' i C# er nok det bedste implementation i et strong typed sprog jeg har oplevet.
(At sprog som Haskell så altid er smartere, er en helt anden sag)
I C++ og Java er iterators en løsning på hvad der i C# findes som foreach. Det har ikke så meget med rigtige iterators at gøre (som f.eks. når man henter data fra en database).
Python og C# er meget bedre at kigge på hvis man skal forstå rigtige iterators. Samtidig kan man se hvor dårligt det er implementeret i de anre sprog.
IEnumerable<T> sammen med 'yield' i C# er nok det bedste implementation i et strong typed sprog jeg har oplevet.
(At sprog som Haskell så altid er smartere, er en helt anden sag)
C# er vel ikke synderligt godt at studere, hvis man vil studere iterators. De er jo netop gemt væk i foreach, og bruges dermed oftes kun implicit.
De klassiske iterator-objekter i C++ er derimod udpenslede og *meget* udbredte.
Derudover er de også et godt eksempel et af de ubehaglige aspekter af OO-kode. Iterator-objekter giver god mening rent kode-mæssigt og meget lille mening rent forståelses/struktur-mæssigt ;)
De klassiske iterator-objekter i C++ er derimod udpenslede og *meget* udbredte.
Derudover er de også et godt eksempel et af de ubehaglige aspekter af OO-kode. Iterator-objekter giver god mening rent kode-mæssigt og meget lille mening rent forståelses/struktur-mæssigt ;)
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.