| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: [c++] class im Forum Code Kitchen, in der Kategorie Software Home; Anzeige mal ne frage an unsere c++ freaks.... habe eine klasse mit diversen variablen und ein paar funktionen drin...wenn ich ...
![]() |
| | #1 (permalink) |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | Anzeige mal ne frage an unsere c++ freaks.... habe eine klasse mit diversen variablen und ein paar funktionen drin...wenn ich nun ein array von z.b. 100*4 feldern von dieser klasse mache, sind diese funktionen logischerweise auch 100*4 mal vorhanden. da ich diese funktionen jedoch nur 1 mal benötige (bekommen übergabeparameter) sind die restlichen (100*4)-1 funktionen sozusagen überflüssig. meine fragen nun: - braucht so eine funktion (ca10-20 zeilen) viel speicher? - gibt es einen grossen performanceschub wenn ich diese funktionen als normale funktionen code (also nicht in der klasse)? |
| | |
| | #2 (permalink) | |
| Senior Member Registriert seit: 02.10.01 ![]() Likes: 1 | Jede dieser Funktionen im Array ist wie Du sagtest mehrmals vorhanden, ebenso die Variablen. Zitat:
| |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) | |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | Zitat:
| |
| | |
| | #4 (permalink) |
| Member of Honour ![]() | mal eine dumme frage: warum probierst du es nicht einfach aus? |
| | |
| | #5 (permalink) |
| Member of Honour ![]() Registriert seit: 03.10.01 ![]() Likes: 1 | *LOL* tut mir leid, aber ihr seid auf dem holzweg. das selbe problem hatten die entwickler von c++ wohl auch. deshalb wird jede member funktion nur _einmal_ im speicher abgelegt. damit sie weiss, welches objekt gerade diese funktion aufruft, wird ihr als parameter ein zeiger auf diese klasse (this, heist er) übergeben. alle fragen beantwortet? |
| | |
| | #6 (permalink) |
| Registriert seit: 31.01.02 ![]() Likes: 0 | Was mr nicht ganz klar ist: Benutzt Du die funktion EINER Klasse mehrmals ? Oder leitest Du die klasse mehrmals ab (100*4)..wenn ja gibts fuer jede Funktion imho einen eigenen stack und speicherplatz fuer die variablen wird eh verbraten.. ergo: leitest Du die KLasse n- mal ab..hast du n funktionen mit n variablen was bedeuten wuerde n stacks und n mal laufzeitspeicher..sofern sie "zur selben Zeit" laufen.... "- braucht so eine funktion (ca10-20 zeilen) viel speicher?" :: hat nichts mit der zeilenanzahl zu tun "gibt es einen grossen performanceschub wenn ich diese funktionen als normale funktionen code (also nicht in der klasse)?" :: kommt wieder darauf an was du machst...grundsaetzlich sind "nicht outgesourcte" funktionen flotter... wenn Du 100*4 *n variablen deklarierst verbraetst du auch den speicher pauschal... Beschreib mal bitte genauer was du vorhast.. bye seth :wq! |
| | |
| | #7 (permalink) |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | das ganze geht um folgendes gerät: http://www.spirentcom.com/analysis/view.cfm?P=138 ziel ist es dieses gerät anzusprechen. vom hersteller wird eine lib für eigenentwicklung bereitgestellt. in dieser lib hat es nun verschiedene EIGENE variabeltypen/strukturen. mein ziel ist es nun eine structur zu bauen mit dem ich die ganzen definierten streams(zu übertragende packete) speichern kann. hab zwar im vornherein keine ahnung von der anzahl dieser streams nehme aber mal einen mittelwert von 400 stück an (für ne anständige analyse). @blueflash: wird dieser "this" zeiger automatisch übergeben???? |
| | |
| | #8 (permalink) |
| Member of Honour ![]() Registriert seit: 03.10.01 ![]() Likes: 1 | also, nochmal ganz genau: wenn man eine klasse definiert, wird der code jeder member funktion _einmal_ abgelegt (auf dem stack, glaub ich). wenn ich ein objekt dieser klasse konstruiere, das dann die funktion aufruft, wird dieser funktion _automatisch_ ein zeiger namens this übergeben, dieser zeigt auf das aufrufende objekt. wenn ich eine klasse ableite, wird die funktion auch für die abgeleitete klasse gültig, sie wird nur nocheinmal geschrieben, wenn sie überladen wird. ich hoffe damit sind alle fragen beantwortet. |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| PHP class | skymuss | Code Kitchen | 3 | 21.06.08 19:55 |
| .class in .txt (Java) | mP765 | Code Kitchen | 4 | 01.05.07 21:47 |
| C++ "komplizierte" class... | NULL!=NULL | Code Kitchen | 1 | 06.11.06 22:33 |
| class | CPU8080 | (Web-) Design und webbasierte Sprachen | 3 | 29.05.06 14:12 |
| Microsoft Class Server | Letismoja | (In)security allgemein | 6 | 17.02.04 20:37 |