Er worden in de uithoeken van wetenschappelijk onderzoek vaak nog "rare" talen gebruikt. Fortran is nog steeds populairder dan C(++) in sommige gebieden. De eerste adventure game ADVENT was in Fortran geschrevenquote:Op zondag 18 april 2010 01:25 schreef netolk het volgende:
[..]
Ja en elke ander C based programeer taal... dus uiteindelijk gewoon allemaal asambly code
Windows en Mac zijn voor het grootste deel in C en C++ geschreven...quote:Op zondag 18 april 2010 10:25 schreef Cruise.Elroy het volgende:
[..]
Er worden in de uithoeken van wetenschappelijk onderzoek vaak nog "rare" talen gebruikt. Fortran is nog steeds populairder dan C(++) in sommige gebieden. De eerste adventure game ADVENT was in Fortran geschreven
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | struct Test{ int a; Test(){a=0;} int get(){return a;} }; struct Test2{ Test *myPointer; Test2(Test test){myPointer = &test;} int get(){return (*myPointer).a;} int get2(){return myPointer->a;} ~Test2(){delete myPointer; myPointer = 0;} }; int main(){ Test myTest; Test2 Test2(myTest); myTest.a = 9; std::cout << myTest.get() << '\t' << Test2.get() << '\n'; std::cout << myTest.a << '\t' << Test2.myPointer->a << '\n'; int a = 3; int *b; b = &a; *b = 8; std::cout << a << '\t' << *b << '\n'; return 0; } |
1 2 3 | 9 9 8 8 |
1 2 | std::cout << myTest.a << '\t' << Test2.(*myPointer).a << '\n'; |
je kan denk ik beter zoiets gebruiken:quote:Op zondag 28 maart 2010 16:01 schreef Cruise.Elroy het volgende:
[..]
Het standaard invoersysteem van C++ heeft daar geen standaard oplossing voor.
Wat je kan proberen zijn de functies _kbhit() en _getch()
Ze zitten in de header conio.h.
Dit zijn oude functies uit het DOS/POSIX en worden niet meer goed ondersteund dus let daar wel mee op.
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | char GetKey() { // get standard console handle HANDLE myHandle = ::GetStdHandle(STD_INPUT_HANDLE); // read input until a key has been pressed INPUT_RECORD myEvent[1]; DWORD myNumberOfEvents; do { // read input ::ReadConsoleInput(myHandle, myEvent, 1, &myNumberOfEvents); } while ((myEvent[0].EventType != KEY_EVENT) || (myEvent[0].Event.KeyEvent.bKeyDown != TRUE)); // return ASCII code return myEvent[0].Event.KeyEvent.uChar.AsciiChar; } /** * Waits for a key to be pressed and returns the key's virtual key code. * * @returns the virtual key code of the pressed key */ WORD GetVirtualKey() { // get standard console handle HANDLE myHandle = ::GetStdHandle(STD_INPUT_HANDLE); // read input until a key has been pressed INPUT_RECORD myEvent[1]; DWORD myNumberOfEvents; do { // read input ::ReadConsoleInput(myHandle, myEvent, 1, &myNumberOfEvents); } while ((myEvent[0].EventType != KEY_EVENT) || (myEvent[0].Event.KeyEvent.bKeyDown != TRUE)); // return ASCII code return myEvent[0].Event.KeyEvent.wVirtualKeyCode; } |
Ik neem aan dat je OSX bedoelt.quote:Op zondag 18 april 2010 12:02 schreef netolk het volgende:
[..]
Windows en Mac zijn voor het grootste deel in C en C++ geschreven...
Behalve dat mijn oplossing maar 1 regel code is. En nog beter portable ook.quote:Op zondag 18 april 2010 12:10 schreef netolk het volgende:
[..]
je kan denk ik beter zoiets gebruiken:
[ code verwijderd ]
dit werkt dan wel alleen op windows
je zegt zelf dat het niet goed ondersteund word...quote:Op zondag 18 april 2010 12:11 schreef Cruise.Elroy het volgende:
[..]
Behalve dat mijn oplossing maar 1 regel code is. En nog beter portable ook.
quote:Op zondag 18 april 2010 12:05 schreef netolk het volgende:
Ik ben nu een beetje aan het klooien met pointers in C++ maar het werkt niet zo als ik zou verwachten..
dit is de code:
[ code verwijderd ]
de output is:
[ code verwijderd ]
en ik had nog een vraag waarom kan in de onderstaande code het bovenste wel en het onderste niet? dit zou toch het zelfde moeten zijn?
[ code verwijderd ]
bij de onderste code geeft ie out of scope error...
Mvg. netolk
1 2 3 4 5 6 7 8 | Test *myPointer; Test2(Test test){myPointer = &test;} int get(){return (*myPointer).a;} int get2(){return myPointer->a;} ~Test2(){delete myPointer; myPointer = 0;} }; |
1 |
1 |
Niet goed, maar beter dan een spagetti aan windows API callsquote:Op zondag 18 april 2010 12:13 schreef netolk het volgende:
[..]
je zegt zelf dat het niet goed ondersteund word...
wel raar dat Appel zelf wel zegt dat het framework bijvoorbeeld voor een groot deel in objective-C is geschreven en andere dingen ook in C/C++ geschreven zijn...quote:Op zondag 18 april 2010 12:10 schreef Cruise.Elroy het volgende:
[..]
Ik neem aan dat je OSX bedoelt.
Stiekem is OSX in ADA geschreven, maar dat weten veel mensen niet.
Het was een grapje.quote:Op zondag 18 april 2010 12:19 schreef netolk het volgende:
[..]
wel raar dat Appel zelf wel zegt dat het framework bijvoorbeeld voor een groot deel in objective-C is geschreven en andere dingen ook in C/C++ geschreven zijn...
1 |
dacht alquote:Op zondag 18 april 2010 12:24 schreef Cruise.Elroy het volgende:
[..]
Het was een grapje.
ADA is een draak van een taal die door de US Department of Defense verplicht was gesteld ergens in de 80 tot aan eind 90s.
Ongeveer, het gaat gewoonquote:Op zondag 18 april 2010 12:29 schreef netolk het volgende:
[ code verwijderd ]
dus als ik het goed begrijp dan refereert test nu aan een Test en myPointer checkt dan dus de locatie van test die dan weer naar de meegegeven Test in de constructor wijst?
Test voorbeeld;
Test2 voorbeeld2(voorbeeld);
myPointer -> test -> voorbeeld
of klopt dit niet?
dankje voor je reactiequote:Op zondag 9 mei 2010 15:36 schreef Intrepidity het volgende:
Er is denk ik geen 'dé' taal voor een bepaald platform, dat hangt compleet van het project en de eisen en dergelijke af. Voor spellen is C++ inderdaad veelgebruikt op Windows in combinatie met Direct3D en dergelijke, hoewel C# op dat gebied ook prima werkt. C# wordt dan weer meer gebruikt voor 'gewone' windows-applicaties, webapplicaties (icm ASP.net) en RIA's (icm Silverlight)
Ik denk over het algemeen dat je met C# een breder pallet aan applicaties kunt bouwen met dezelfe kennis en moeite (een windows-applicatie bouwen gaat met winforms/wpf nou eenmaal sneller als in C++ met de WIn32-API).
quote:Op zondag 9 mei 2010 21:37 schreef Trollface. het volgende:
Ik zou de sluitknop en het kader eromheen weghalen, je hebt toch al een sluitknop?
Tevens is er een ander topic voor .NET eigenlijk, toch?
nicequote:Op zondag 9 mei 2010 20:07 schreef Crutch het volgende:Ik heb net een (misschien buggy) iTunes remote dingetje gemaakt in C# .Net
M'n eerste werkende programmaatje.
quote:Op zondag 9 mei 2010 23:43 schreef Fortitude het volgende:
Hij crashed wanneer je geen ITunes hebt. Ik zou even een Exception afvangen.
Valt me mee, maar het dan ook niet zon groot dingetjequote:
Hobby.quote:Op maandag 10 mei 2010 09:08 schreef minibeer het volgende:
[..]
Valt me mee, maar het dan ook niet zon groot dingetje. Doe je trouwens programmeren voor je opleiding of als hobby?
okquote:
Conventie. die return-waarde wordt inderdaad bijna nooit gebruikt, maar volgensmij zijn er nog sommige antieke compilers of zelfs OS'en die moeilijk doen als er geen resultaat uit de main komt. Echter nog nooit tegengekomen.quote:Op maandag 10 mei 2010 16:16 schreef minibeer het volgende:
[..]
ok.
klein beginners vraagje. waarom:
int main()
{
...
}
ipv
void main()
{
...
}
Ik heb het tweede nog niet gezien bij voorbeeldcode, terwijl main toch echt nooit wordt gebruikt om een waarde door te geven...
jaquote:Op maandag 10 mei 2010 17:04 schreef Trollface. het volgende:
int main() hoort toch bij de C/C++-standaard?
Klopt. Ik houd er zo m'n eigen regels op na.quote:Op maandag 10 mei 2010 17:04 schreef Trollface. het volgende:
int main() hoort toch bij de C/C++-standaard?
wat voor regels dan?quote:Op maandag 10 mei 2010 22:04 schreef Cruise.Elroy het volgende:
[..]
Klopt. Ik houd er zo m'n eigen regels op na.
Dat je programma's dan überhaupt compilenquote:Op maandag 10 mei 2010 22:04 schreef Cruise.Elroy het volgende:
[..]
Klopt. Ik houd er zo m'n eigen regels op na.
Return values worden zeer veel gebruikt in linux systemen.quote:Op maandag 10 mei 2010 16:44 schreef Trollface. het volgende:
Programma's horen een returncode terug te geven om aan te geven of de executie succesvol was. 0 = succesvol, bij elke andere waarde is er een fout opgetreden. Deze returncode wordt echter nog maar zelden gebruikt.
Valt ook wel mee hoor, in makefiles nog wel ja.quote:Op maandag 10 mei 2010 22:13 schreef Thomass het volgende:
[..]
Return values worden zeer veel gebruikt in linux systemen.
Werkt alleen onder VC++ voor C++, en zou gewoon moeten compilen op elke C compiler afaik.quote:Op maandag 10 mei 2010 22:11 schreef Trollface. het volgende:
[..]
Dat je programma's dan überhaupt compilenmijn compiler pakt void main() niet.
Microsoft wijkt op een aantal punten van de standaard af.quote:Op maandag 10 mei 2010 17:04 schreef Trollface. het volgende:
int main() hoort toch bij de C/C++-standaard?
zou het (visual c++) dan eigenlijk een warning/error moeten geven?quote:Op dinsdag 11 mei 2010 17:40 schreef thabit het volgende:
[..]
Microsoft wijkt op een aantal punten van de standaard af.
Geen idee, ik werk niet meer met VC++, maar je kunt overal warnings en errors voor laten geven dus vast ook wel hiervoor.quote:Op dinsdag 11 mei 2010 18:42 schreef minibeer het volgende:
[..]
zou het (visual c++) dan eigenlijk een warning/error moeten geven?
tja dat zijn vaak ook de problemen met source code...quote:Op dinsdag 11 mei 2010 17:40 schreef thabit het volgende:
[..]
Microsoft wijkt op een aantal punten van de standaard af.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |