AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Was bedeutet diese Zeile in C++?

Ein Thema von Virchov · begonnen am 23. Mär 2004 · letzter Beitrag vom 31. Mär 2004
Antwort Antwort
Seite 2 von 3     12 3   
NicoDE
(Gast)

n/a Beiträge
 
#11

Re: Was bedeutet diese Zeile in C++?

  Alt 23. Mär 2004, 10:27
Zitat von Dannyboy:
Moin, ich ärgere mich mit beiden Sprachen rum
Index out of bounds...
Code:
Histogram : Array[0..[color=red]LENBYTE-1[/color]] of Integer; // Die Arrays in C++ fangen bei 0 (Null) an!
begin
  Histogram[[color=red]LENBYTE[/color]]:=0; // Definition in Delphi so
end.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Was bedeutet diese Zeile in C++?

  Alt 23. Mär 2004, 10:28
Zitat:
Nachtrag:
An Deinen Codeschnippseln ist NICHTS dynamisch. Es ist ein statisches Array, ergo
nix mit SetLength, etc.
ähm, was soll ein Array bringen mit einem Feld un dem Wert 0 in diesem Feld?

...also wird es im weiterm Prorammablauf höchtwahrscheinlich vergrößert und neue Werte werden zugewiesen

der Codeschnipsel diente wahrscheinlcih zur Initialisierung des Arrays, also wahrscheinlcih doch dynamisch
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#13

Re: Was bedeutet diese Zeile in C++?

  Alt 23. Mär 2004, 10:32
Zitat von Tyrael Y.:
was soll ein Array bringen mit einem Feld
Es hat LENBYTE Felder
Zitat von Tyrael Y.:
un dem Wert 0 in diesem Feld?
Nur das erste Feld wird mit 0 initialisiert.
Zitat von Tyrael Y.:
also wird es im weiterm Prorammablauf höchtwahrscheinlich vergrößert
Eher unwahrscheinlich, da in C/C++ Konstanten üblicherweise groß geschrieben werden.
Zitat von Tyrael Y.:
der Codeschnipsel diente wahrscheinlcih zur Initialisierung des Arrays
...des ersten Elements, s.o.

Nichts für ungut.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Was bedeutet diese Zeile in C++?

  Alt 23. Mär 2004, 10:36
Virchov wird ja wissen was im weiterem Programmablauf noch mit dem Array passiert und ich gehe mal davon aus, ich habe Recht

..wird sich ja zeigen, wenn Virchov weiteres postet
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#15

Re: Was bedeutet diese Zeile in C++?

  Alt 23. Mär 2004, 10:45
Zitat von Tyrael Y.:
und ich gehe mal davon aus, ich habe Recht
Mit welchem Deiner zwei Beiträge ?-)
  Mit Zitat antworten Zitat
Virchov

Registriert seit: 15. Mär 2004
Ort: Bäärlin
109 Beiträge
 
#16

Re: Was bedeutet diese Zeile in C++?

  Alt 23. Mär 2004, 10:58
Ich bestätige, das ist ein DYNAMISCHES Array, mit dessen Größe weiter in der Routine rumgespielt wird!
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#17

Re: Was bedeutet diese Zeile in C++?

  Alt 23. Mär 2004, 10:58
nennt mich Prophet
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#18

Re: Was bedeutet diese Zeile in C++?

  Alt 23. Mär 2004, 11:01
int Histogram[LENBYTE]={0};

Es wird ein array von Integern namens Histogram der Laenge LENBYTE deklariert und das erste Element
aka Histogram[0] mit 0 initialisiert.
Der Name LENBYTE laesst auf eine Benutzung in der Art von Delphi ShortString schliessen.

LENBYTE ist vermutlich irgendwo anders als
#define LENBYTE 256
definiert. (256 hab ich mir gerade ausgedacht).

Es werden wie bei Delphi eigentlich alle Werte des arrays mit 0 initialisiert, aber initialisierte Variablen
landen in einem anderen Programmsegment als uninitialisierte.

Delphiaequivalent:
Delphi-Quellcode:
const
  LENBYTE = 256;

var
  Histogram: array [0..LENBYTE-1] of Integer;
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#19

Re: Was bedeutet diese Zeile in C++?

  Alt 23. Mär 2004, 11:06
Zitat von NicoDE:
Index out of bounds...
Sorry, war mein Fehler.
Es sollte eigentlich so sein:
Delphi-Quellcode:
CONST LENBYTE = <irgend ein integer wert>;
Histogram : Array[0..LENBYTE-1] of Integer; // Die Arrays in C++ fangen bei 0 (Null) an!
begin
  Histogram[0]:=0; // Definition in Delphi so und diesmal richtig. :-)
end.
Zitat von Tyrael Y.:
ähm, was soll ein Array bringen mit einem Feld un dem Wert 0 in diesem Feld?

...also wird es im weiterm Prorammablauf höchtwahrscheinlich vergrößert und neue Werte werden zugewiesen

der Codeschnipsel diente wahrscheinlcih zur Initialisierung des Arrays, also wahrscheinlcih doch dynamisch
Die Null (0) dient zum initialisieren (siehe NicoDE's Posting). Was "im weiteren Programmablauf" sonst noch so passiert,
weiss man nicht, denn das geht aus Deinem Code im Moment nicht hervor. Vor allem war Deine Frage
nur auf diese Zeile reduziert:
Zitat:
Was bedeutet in c++ folgende Zeile
Bisher ist Dein Array statisch (Konstanten in C sind GROSS), daher in Delphi ...
Delphi-Quellcode:
CONST LENBYTE = <irgend ein integer wert>;
...
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
Virchov

Registriert seit: 15. Mär 2004
Ort: Bäärlin
109 Beiträge
 
#20

Re: Was bedeutet diese Zeile in C++?

  Alt 23. Mär 2004, 11:12
Tja, es wird dann später zB folgendes passieren:
Delphi-Quellcode:

 //Calculate probability from histogram
  for (t=0;t<LENBYTE;t++){
   p[t]=((double)Histogram[t]/(double)numPixels);
   mT += (t*p[t]);
  }
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:17 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