AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verständnisfrage Umstellung c++ struct

Ein Thema von Sunec · begonnen am 24. Aug 2015 · letzter Beitrag vom 24. Aug 2015
Antwort Antwort
Seite 1 von 2  1 2      
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#1

Verständnisfrage Umstellung c++ struct

  Alt 24. Aug 2015, 11:40
Delphi-Version: XE8
Code:
struct mystruct
{
   int               index;
   inline char * const name( void ) const { return ((char *)this) + index; }
   int                range;
};
Bezieht sich das "this" in der inlined Funktion in diesem Fall auf die struct selbst oder auf die eingebundene Funktion?

Bei der Umstellung nach Delphi wäre es ja dann entweder die Adresse der struct oder struct + 4 Bytes (aufgerund des ersten structmembers Index).

Tue mir da irgendwie gerade schwer mit.

Geändert von Sunec (24. Aug 2015 um 12:26 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Verständnisfrage Umstellung c++ struct

  Alt 24. Aug 2015, 12:03
Um die Frage zu beantworten: Auf die Struktur. Das sieht du, z.B. im Visual Studio, auch beim draufhalten mit der Maus.

Die Struktur an sich verstehe ich aber überhaupt nicht. Zwei Integer und eine Methode sich selbst auf einen Char-Pointer zu casten. Das macht keinen Sinn. Es könnte Sinn machen, wenn in der Struktur noch mehr enthalten wäre (z.B. ein Char-Array) und du uns das verschweigst
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#3

AW: Verständnisfrage Umstellung c++ struct

  Alt 24. Aug 2015, 12:14
Hallo,

wer hat behauptet C/C++ würde Sinn machen.

mfg
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#4

AW: Verständnisfrage Umstellung c++ struct

  Alt 24. Aug 2015, 12:17
Danke das hatte ich mir schon gedacht. Dann scheitert es wahrscheinlich an meiner Deklaration der inlined Funktion.

Die struct ist tatsächlich etwas komplexer enthält allerdings kein Char Array.

Name ermittelt anhand des Indexes, wie der Name schon erahnen lässt, den einen Namen, der in einem anderen Speicherbereich liegt.

Geändert von Sunec (24. Aug 2015 um 12:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Verständnisfrage Umstellung c++ struct

  Alt 24. Aug 2015, 12:19
wer hat behauptet C/C++ würde Sinn machen.
Uli Gerhardt
  Mit Zitat antworten Zitat
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#6

AW: Verständnisfrage Umstellung c++ struct

  Alt 24. Aug 2015, 12:22
Es macht schon Sinn, da der Name bereits woanders im Speicher vorhanden ist und so nicht doppelt abgelegt wird. Er wird somit nur ermittelt und die Methode Name dient als Verweis.

Geändert von Sunec (24. Aug 2015 um 12:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#7

AW: Verständnisfrage Umstellung c++ struct

  Alt 24. Aug 2015, 12:51
Hallo,

welcher Name ist jetzt bereits abgelegt? Der Name einer Methode (Funktion) wird eigentlch nirgends abgelegt. Ich dachte immer der Name einer Methode spielt für den Programmierer eine Rolle, der Compiler ersetzt das ganze durch eine Speicheradresse. Aus meiner Sicht ist C/C++ eine Programmiersprache, wo es eigentlich nicht mehr um zielorientierte Programmierung geht, sondern nur um Verwirrung. Noch besser ist allerdings perl, zumindestens in diesem Gebiet.

mfg
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#8

AW: Verständnisfrage Umstellung c++ struct

  Alt 24. Aug 2015, 13:00
wer hat behauptet C/C++ würde Sinn machen.
Es macht schon Sinn, da der Name bereits woanders im Speicher vorhanden ist und so nicht doppelt abgelegt wird. Er wird somit nur ermittelt und die Methode Name dient als Verweis.
Solche Verrenkungen sind der Grund wieso C++ so einen schlechten Ruf hat
Ein Zeiger oder eine Referenz auf den Namen (einen String, kein Char-Zeiger) hätten es vermutlich auch getan. Es sei denn, du hast da einen hochoptimierten, weggekapselten Programmteil.

Aus meiner Sicht ist C/C++ eine Programmiersprache, wo es eigentlich nicht mehr um zielorientierte Programmierung geht, sondern nur um Verwirrung.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#9

AW: Verständnisfrage Umstellung c++ struct

  Alt 24. Aug 2015, 13:04
Aus meiner Sicht ist C/C++ eine Programmiersprache, wo es eigentlich nicht mehr um zielorientierte Programmierung geht, sondern nur um Verwirrung.
Sorry, aber das ist Delphi-Fanboi-Stuss. Erstens ist "C/C++" nicht eine Programmiersprache, sondern zwei reichlich unterschiedliche. Und im Vergleich mit C++ zieht Delphi bei vielen Dingen den Kürzeren. Gelegentlich sogar bei der Lesbarkeit.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#10

AW: Verständnisfrage Umstellung c++ struct

  Alt 24. Aug 2015, 13:19
Hallo,

dann ist (sind) Delphi wohl auch zwei Programmiersprachen (Pascal und ObjectPascal), wobei Delphi eigentlich nur eine Entwicklungsumgebung meint. C (als funktionale) und C++ (als objektorientierte) mögen zuweilen schneller ausgeführt werden, als Delphi-Quellcode, aber die Lesbarkeit (zumindestens im Durchschnitt) würde hier klar an Delphi (ObjectPascal) gehen. In C/C++ sind Konstrukte möglich, die ich trotz Informatikstudium schon fast nicht mehr verstehen kann (Es dauert zuweilen zumindestens Stunden bis ich das nachvollzogen habe).
Es gibt aus meiner Sicht Programmiersprachen, die den Entwickler geradezu auffordern unleserlich Code zu fabrizieren (C und C++, Perl) und welche die von Grund auf Lesbar sind (Delphi / Java).

mfg
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz