Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
30.01.2002, 15:00
anothergb02



Nur eine dume Frage, aber wie kann man einen Pointer .. "basteln" der einem einfach nur die Adresse eines Speichers zurückliefert ?
Und anschließend soll noch erkennbar sein, ob das ein int ... ist.
So das man einen "Variable" mache kann, die alles beinhalten kann, also sructs, Klassen, ints ......
Also so das einem einfach nur die reine Adresse geliefert wird und man anschließen guckt welcher Typ .....
Und nicht so, dass man vorher schon den Typ definiert (Int *bla) und dann das ganze Umwandelt oder was auch immer.
Irgend einen Tip ?

Habe nix in der Informatikstunde gefunden sorry und muss jetzt auch schon weiter nur nächsten Stunde bye. Kann ja dann nochma vom Heim Suchen :D

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
001
30.01.2002, 15:27
CY4N1D3



gibt es schon... nennt sich Fbuffer, ist in delphi geschrieben und von BJ *fg* :D (wer BJ nicht kennt: ist sowas wie ein 2. ich - nen freund von mir der alles genausogut kann und im mathe etwas viel besser is als ich, wobei ich besser logische schlüsse in ideen verwandeln kann *g* :DD)

--

ob nun delphi, c oder java. kein programm lässt sich mit allen 3en gleichschnell entwickeln.


Dieser Beitrag wurde am 30.01.2002 um 15:27 von CY4N1D3 bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
30.01.2002, 15:33
Sccar



was du suchst dürfte eine union sein, das ist eine art "kombi-datentyp".

funktionieren tu das so:

union {int i, float f} var;

void main()
{
// z.b:
var.i = 10;
cout << var.i;

var.f = 40.10f;
cout << var.f;

};

sccar

--

...das is zwar der uebelst gehackteste kleine bastard, den ich je gesehen habe, aber dafuer sauschnell. {Tron}


Dieser Beitrag wurde am 30.01.2002 um 15:34 von Sccar bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
30.01.2002, 17:49
anothergb02



nop sccar du meinst sicher das union von C. Und sowas suche ich 100pro net :/ sorry

CY4N1D3
jp thx aber ich suche das net für Delphi :( Das es sowas 100pro gibt weis ich auch :D Aber wie zum Hänkerle macht man das naja kann jetzt nochmal im Inet gucken gehen :D
Also torzdem danke noch mal D:

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
004
30.01.2002, 18:07
Another1



meinst du hast einfach ne adresse irgendwo gespeichert (kurz: pointer)
und willst jetzt a) einfach in nen typ umwandeln?
oder b) schon wissen, einfach über die adresse, was es für ein datentyp is?

also, bei b) würd ich die 1. 2 byte an der adresse für den typ-identifier nutzen (musst du dir dann irgendwie überlegen, welcher type was is, obwohl eigentlích auch 1 byte dafür reichen sollte! -> 255 verschiedene typen)

wenn du einfach nur a) habe willst, naja das is ja wohl C grundlage:
Quellcode:
typedef struct
{
  int nr; // 4byte
  int name; // 4byte
  unsigned short int id; // 2byte ... evtl #pragma pack... usen damit es hinhaut
} meinestruct_t;

void IrgendneFunc()
{

meinestruct_t* myStructVar = NULL;

void* pointerAufIrgendwas = malloc(10); // einfach mal nen pointer gemacht der irgendwohin zeigt, wo 10 byte freigegeben sind

myStructVar = (meinestruct_t*)pointerAufIrgendwas;

so, nu hast du den void-pointer der auf 10 byte zeigt in nen meinestruct_t-pointer gecastet, und kannst damit weitermachen
}

... ahh und versuch dich mal besser auszudrücken, ich werd aus deinen fragen nie schlau ...

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
005
30.01.2002, 18:41
apfelkorn



ich glaube er meinte einfach nur

cout << &var;

--

zum Seitenanfang zum Seitenende Profil || Suche
006
30.01.2002, 18:56
anothergb02



Ne ich will einfach nur die Adresse haben und keine Typen umwandlen !
Also eine Reine Adresse als typ Adresse meinetwegen, an der man dann halt an den ersten oder letzten bytes den typ erkennen kann -> ob das nen struct ist oder ne Klasse what ever ....
Dann kann man nämlich eine universelle Sortierklasse.... proggen auf die immer wieder alles zurückläuft und über die so zu sagen alles gesteuert wird -> Dann muss man nicht x mal das gleiche proggen ;D

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
007
30.01.2002, 19:02
Archangel



öhhm.. in C oder C++ ? in C++ könntest du das mit templates machen:

(als beispiel hier mal ne swap-funktion):

template<class _T>
void _swap(_T *x, _T *y)
{
_T temp;
temp = *x;
*x = *y;
*y = temp;
}

und die wird dann aufgerufen:
int x = 5, y = 10;
swap<int>(&x, &y);
// danach ist x = 10 und y = 5

sollte eigentlich richtig sein, aber mit templates hab ich schon lange nix mehr gemacht (code hauptsächlich in C..)

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
008
30.01.2002, 19:07
anothergb02



man da deklariest du aber auch schon wieder in template <type !!! name>, dass das ne Klasse ist ;D
und ich will ja halt wissen was das ist ! ob das ne Klasse ist ......
=> Template ist mir so zu sagen noch zu "komplex"

--

Being in john Malkovich
.....


Dieser Beitrag wurde am 30.01.2002 um 19:10 von anothergb02 bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
30.01.2002, 19:10
Archangel



arg, informier dich mal über templates... seit wann ist int ne klasse ? int issen datentyp, genau wie float, char etc.. oder auch, im hlsdk CBasePlayer, entvars_t, whatever..

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005


Dieser Beitrag wurde am 30.01.2002 um 19:11 von Archangel bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
010
30.01.2002, 19:13
anothergb02



jop aber trozdem kannst du damit nicht sehen, was das für nen Typ ist ....

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
011
30.01.2002, 19:23
Archangel



brauchst du das denn? wofür, du hast doch (e.g.) _T

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005


Dieser Beitrag wurde am 30.01.2002 um 19:24 von Archangel bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
012
30.01.2002, 22:55
Tomz



hmm, weiss nicht obs bringt, aber vielleicht kannst du mit sizeof(*superstring) mit der grösse den ungefähren datentyp bestimmen... ich weiss, es ist eine scheiss idee, aber wenn du weisst, dass du entweder einen short int oder einen int hast, dann sollte das doch funzen...

ich weiss, ich bin krank... wir haben grad im c programmieren eine arbeitswoche, und ich sterbe gerade, wil ich ein GUI für mein spiel mache...
das is ne kackarbeit...

--

...denn das atombrot wird nicht ruhen bis es den letzten erwischt hat...

zum Seitenanfang zum Seitenende Profil || Suche
013
30.01.2002, 23:05
Tron



@Tomz:
sizeof wird beim kompilieren ausgewertet

@Anothergb02:
ueberleg dir nochmal genau was du brauchst. wenn's um ne universelle sortierfunktion geht, dann sind templates die optimale loesung.
wenn du wirklich nen universellen datentyp brauchst, musst du dir ne klasse bauen, die durch eine virtuelle funktion den jeweiligen typ zurueckgibt. von der klasse werden dann alle moeglichen typen abgeleitet. aber das erscheint mir einerseits extrem umstaendlich und andererseits extrem langsam.

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
014
31.01.2002, 11:59
anothergb02



Tron
Jo und genau da beginnt mein Problem, ich kann halt nicht einfach eine "Klasse" machen :D
Kann ja nochmal mit Template versuchen aber beim letzten mal hat er irgend welche typen errors gekriegt :/ Hatte das bis jetzt auch immer nur für Klassenverwaltung genutzt also Entities ...... oder irgend son Kram.

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
015
31.01.2002, 13:45
Tron



beschreib mal dein problem etwas: was genau du damit machen? was ist die problemstellung?

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
016
31.01.2002, 13:48
Another1



jo, los, was machst du denn damit?!

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
017
31.01.2002, 17:36
anothergb02



naja ne Klasse kann man doch schon verwenden :D
Und das sollte nu auch mit Template funken :D War nur zu faul mich in den letzten Tagn hin zu setzen und zu progge sorry aber nu ahben wir ja Ferien und viel viel Zeit :D
jupie
Also ne Klasse die so zu sagen eine Basis für semmtliche Sortiexxxx . what ever structs .... ist also so das man das für structs Klassen ... benutzen kann und einfach nur noch am Anfang typedef *balbl = CreateSortList() .....; machen muss und dann alles dem entsprechend automatisch verwaltet wird.
-> Jaja ich weis das könnte man auch einfacher machen, aber ich wollte mal was neues machen.
So ich will das außerdem machen, weil es mich ankotzt ständig immer und immer wieder Manager/Timer base Klassen für Entities/Texturen ... was auch immer zu proggen. Ein lustiger neben Effekt wäre äußerdem, dass alles auf dieser Klasse basieren würde und man dann keine extra memory ... "Verwaltungklasse" bräuchte.
Also ich fange jetzt am besten mal an und sorry fürs sinnlose Nerven :( *peinlich*.
thx to all of you
Also das Problem sollte sich damit erlädigt haben :D Jeah dafür habe ich mal wieder was neues gelernt -> Wie sollte man sich nicht verhalten :D
BIN WOHL LEICHT VOM THEMA ABGEKOMMEN !!!!

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche