 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Rolf Magnus Guest
|
Posted: Mon Apr 11, 2005 11:02 pm Post subject: Re: Anfängerfragen zu short, int, long und weitere.... |
|
|
Ottmar Ohlemacher wrote:
| Quote: | Hallo,
ich habe bei meinem Rechner festgestellt, das int und long mit 32 Bit
arbeiten während short mit 16 Bit arbeitet.
Frage: Ist das nur eine Frage des Compilers, des Betriebssystems oder
der Hardware, mit wieviel Bit die jeweiligen Datentypen arbeiten?
|
Ja. Es gibt in C++ Mindestanforderungen an die verschiedenen Typen (z.B.
short 16 bit, int 16 bit, long 32 bit), aber die genauen Größen sind
Compilerabhängig.
| Quote: | 2.Frage: Wenn bei mir int und long mit 32 Bit arbeiten, so heist das
doch bezogen auf meinen Rechner oder Compiler, das es "Wurscht" ist,
ob ich int oder ob ich long zur Variablendeklaration benutze?
|
Kommt drauf an, ob dein Code portabel sein soll.
| Quote: | 3.Frage: Wenn die einzelnen Variablentypen eine unterschiedliche
Anzahl von Bits verwenden, wie verträgt sich das mit der
"Portierbarkeit" von C++ (oder C) Quellcode...oder ist eben eine
Portierung eines Programmes nur auf ein Rechner(system) möglich,
welches mindestens genau so viele Bits verwendet wie das
"Ursprungssystem" hatte?
|
Du mußt halt die Mindestanforderungen kennen und die Typen danach auswählen.
| Quote: | 4.Frage: Ich lerne gerade (versuche es wenigsens C++ aus dem Buch
C++ Eine Einführung von Ulrich Breymann, 4.Auflage, welches den
letzten ISO C++ Standardentwurf vom Janur 1997 berücksichtigt. Frage:
Ist dieses Werk noch aktuell bzw empfehlenswert?
|
Klingt mir zu alt.
| Quote: | Ergänzungsfrage: Als ich mich mit C beschäftigte hab ich was von Ansi C
gehört, dass dieses der "maßgeblche" Standart sei. Frage: Gibt es auch
sowas wie Ansi C++?
|
Es gibt eine ISO-C++-Norm seit 1998.
| Quote: | (sind ISO und Ansi konkurierende Normen....?
|
ANSI ist amerikanisch, ISO ist glaub ich weltweit. Bei C ist es so, daß es
erstmals 1989 eine ANSI-Norm gab. Diese wurde ein Jahr später 1:1 von der
ISO übernommen.
| Quote: | 5.Frage.: Ich arbeite gerade mit Borlands C++ Builder 1.0 und "freue"
mich darüber, dass es damit auch möglich ist, graphische Steuerelement
wie Formulare, Buttens, Textfelder und ähnliches zu verwenden. Kennt
jemand ein empfehlenswertes Buch, welches C++ in Verbindung mit den
graphischen Möglichkeiten von Borlands C++ Builder zum Thema hat. Das
Buch von Breyman mag wohl ein gutes Grundlagenbuch sein, aber die
Einbindung graphishcer Elemente in C++ wird dort wohl garnicht
thematisiert. Ich würde dieses graphischen Element schon gerne in
meinen "Lernkreis" mit einbeziehen - kennt jemand diesbezüglich ein
empfehlenswertes Buch?
|
Solche Dinge sind compilerspezifisch und nicht Teil der genormten Sprache.
Es ist eigentlich besser, das erstmal wegzulassen und sich mit der Sprache
selbst zu beschäftigen, um eine Wissens-Basis zu haben, auf der man dann
die Verwendung von externen Bibliotheken "aufsetzt". Es gibt übrigens sehr
viele verschiedene Bibliotheken für graphische Benutzeroberflächen.
| Quote: | 6.Frage: C ist eine Teilmenge von C++.
|
Kann man so nicht sagen. C++ basiert auf C, aber C ist keine Teilmenge von
C++.
| Quote: | Normalerweise wird C-Quellcode in einer Datei gespeichert, die mit .c
endet.
Frage: Kann C Programmcode nicht auch einfach in einer Datei mit .cpp
gespeichert und einfach durch einen C++ Kompiler geschickt
werden....oder anders gefragt: kann man C und C++ Code einfach
"vermengen"?
|
Größtenteils geht das, aber meistens nicht ganz ohne Änderungen.
| Quote: | Ich habe festgestellt, das bei die Beispielen aus dem
Buch von Breymann das Ausgabefenster nur kurz aufblitzt und sofort
wieder verschwindet, bevor man das Ergebnis erkennen kann.
|
Das ist ein Windows-spezifisches Problem.
| Quote: | Ich bin daher hingegangen und einfach in den Header meines C++ Programms
noch ein #include<stdio.h> einzubauen und am Ende des Programms noch ein
getchar(); eingebaut, damit die Ausgabe solange sichtbar bleibt, bis
ich ein Return eingebe.
|
Das ist auch Teil von C++. Die gesamte Standardbibliothek von C ist auch
Teil der Standardbibliothek von C++. Du hast damit also C und C++
eigentlich nicht gemischt.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Kostka, Volkmar Guest
|
Posted: Mon Apr 11, 2005 11:09 pm Post subject: Re: Anfängerfragen zu short, int, long und weitere.... |
|
|
Hallo,
Ottmar Ohlemacher wrote:
| Quote: | Hallo,
ich habe bei meinem Rechner festgestellt, das int und long mit 32 Bit
arbeiten während short mit 16 Bit arbeitet.
Frage: Ist das nur eine Frage des Compilers, des Betriebssystems oder
der Hardware, mit wieviel Bit die jeweiligen Datentypen arbeiten?
|
Compiler.
| Quote: | 2.Frage: Wenn bei mir int und long mit 32 Bit arbeiten, so heist das
doch bezogen auf meinen Rechner oder Compiler, das es "Wurscht" ist,
ob ich int oder ob ich long zur Variablendeklaration benutze?
|
int muss mindestens 16 Bit haben, long muss mindestens 32 Bit haben.
| Quote: | 3.Frage: Wenn die einzelnen Variablentypen eine unterschiedliche
Anzahl von Bits verwenden, wie verträgt sich das mit der
"Portierbarkeit" von C++ (oder C) Quellcode...oder ist eben eine
Portierung eines Programmes nur auf ein Rechner(system) möglich,
welches mindestens genau so viele Bits verwendet wie das
"Ursprungssystem" hatte?
|
Solange die Anforderungen an die Mindestlänge immer dem Standard
entsprechen, ist es portierbar.
| Quote: | 4.Frage: Ich lerne gerade (versuche es wenigsens C++ aus dem Buch
C++ Eine Einführung von Ulrich Breymann, 4.Auflage, welches den
letzten ISO C++ Standardentwurf vom Janur 1997 berücksichtigt. Frage:
Ist dieses Werk noch aktuell bzw empfehlenswert? Ergänzungsfrage: Als
ich mich mit C beschäftigte hab ich was von Ansi C gehört, dass dieses
der "maßgeblche" Standart sei. Frage: Gibt es auch sowas wie Ansi C++?
(sind ISO und Ansi konkurierende Normen....?
|
ANSI und ISO ist in diesem Fall dasselbe. Beide beschreiben denselben
Standard.
| Quote: | 6.Frage: C ist eine Teilmenge von C++. Normalerweise wird C-Quellcode
in einer Datei gespeichert, die mit .c endet.
Frage: Kann C Programmcode nicht auch einfach in einer Datei mit .cpp
gespeichert und einfach durch einen C++ Kompiler geschickt
werden....oder anders gefragt: kann man C und C++ Code einfach
"vermengen"? Ich habe festgestellt, das bei die Beispielen aus dem
Buch von Breymann das Ausgabefenster nur kurz aufblitzt und sofort
wieder verschwindet, bevor man das Ergebnis erkennen kann. Ich bin
daher hingegangen und einfach in den Header meines C++ Programms noch
ein #include<stdio.h> einzubauen und am Ende des Programms noch ein
getchar(); eingebaut, damit die Ausgabe solange sichtbar bleibt, bis
ich ein Return eingebe.
|
C ist keine Teilmenge von C++. Es gibt Quellcode, der nur als C
compiliert werden kann (z.B. int main() { int new; return 0; } ).
Allerdings beinhaltet C++ ein Interface zu C Code.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Christoph Rabel Guest
|
Posted: Mon Apr 11, 2005 11:50 pm Post subject: Re: Anfängerfragen zu short, int, long und weitere.... |
|
|
Ottmar Ohlemacher wrote:
| Quote: |
Frage: Ist das nur eine Frage des Compilers, des Betriebssystems oder
der Hardware, mit wieviel Bit die jeweiligen Datentypen arbeiten?
|
Ja, auch ;-)
Im großen und ganzen gilt die Konvention, das int der Typ ist, mit dem
der Prozessor arbeitet. Diese Konvention gilt nicht immer ist aber
ziemlich üblich.
| Quote: | 2.Frage: Wenn bei mir int und long mit 32 Bit arbeiten, so heist das
doch bezogen auf meinen Rechner oder Compiler, das es "Wurscht" ist,
ob ich int oder ob ich long zur Variablendeklaration benutze?
|
Auf deinen Rechner bezogen, ja.
| Quote: | 3.Frage: Wenn die einzelnen Variablentypen eine unterschiedliche
Anzahl von Bits verwenden, wie verträgt sich das mit der
"Portierbarkeit" von C++ (oder C) Quellcode...oder ist eben eine
Portierung eines Programmes nur auf ein Rechner(system) möglich,
welches mindestens genau so viele Bits verwendet wie das
"Ursprungssystem" hatte?
|
Jein. Im Prinzip ist eine Portierung dann einfach, wenn der maximale
Wertebereich den benutzten Wertebereich übersteigt.
Im großen und ganzen mache ich mir keine Gedanken, solange ich mit
Zahlen innerhalb von 32 bit bleibe. Ich gehe davon aus, das auf jedem
System ein 32 bit Datentyp existiert.
Das ist ein praktischer Ansatz, der aber wie du richtig erkannt hast
nicht korrekt sein muss.
Im großen und ganzen muss man in der Praxis irgendwo einen
Schlussstrich ziehen und darauf vertrauen, das etwas so ist.
| Quote: | 4.Frage: Ich lerne gerade (versuche es wenigsens C++ aus dem Buch
C++ Eine Einführung von Ulrich Breymann, 4.Auflage, welches den
letzten ISO C++ Standardentwurf vom Janur 1997 berücksichtigt. Frage:
Ist dieses Werk noch aktuell bzw empfehlenswert? Ergänzungsfrage: Als
|
Ich kenne das Buch nicht, doch 1997 dürfte veraltet sein.
Allerdings habe ich dann mal kurz gesucht und folgendes Buch gefunden:
http://www.informatik.hs-bremen.de/~brey/stlbe.pdf
Das schaut nicht so schlecht aus. Ich habs allerdings nur kurz überflogen.
| Quote: | ich mich mit C beschäftigte hab ich was von Ansi C gehört, dass dieses
der "maßgeblche" Standart sei. Frage: Gibt es auch sowas wie Ansi C++?
^ Standar_D_
(sind ISO und Ansi konkurierende Normen....?
|
ANSI bedeutet "American National Standards Institute" und ist die
Normierungsbehörde der USA. ISO ist die "International Organisation of
Standardization" und weltweit für Standards zuständig.
ANSI C entspricht ISO C, nur ein paar Kapitel wurden umsortiert. Es
gibt keine ANSI C++, die Sprache wurde "nur" weltweit definiert ;-)
| Quote: | 5.Frage.: Ich arbeite gerade mit Borlands C++ Builder 1.0 und "freue"
mich darüber, dass es damit auch möglich ist, graphische Steuerelement
wie Formulare, Buttens, Textfelder und ähnliches zu verwenden. Kennt
jemand ein empfehlenswertes Buch, welches C++ in Verbindung mit den
graphischen Möglichkeiten von Borlands C++ Builder zum Thema hat. Das
Buch von Breyman mag wohl ein gutes Grundlagenbuch sein, aber die
Einbindung graphishcer Elemente in C++ wird dort wohl garnicht
thematisiert. Ich würde dieses graphischen Element schon gerne in
meinen "Lernkreis" mit einbeziehen - kennt jemand diesbezüglich ein
empfehlenswertes Buch?
|
Die grafischen Elemente die du ansprichst sind nicht Teil der Sprache.
Jede GUI-API ist Betriebssystemabhängig, natürlich bemühen sich
diverse Hersteller möglichst viele Platformen zu unterstützen.
Mit dem Borland Compiler habe ich seit Jahren nicht mehr gearbeitet,
ich würde dir aber wenn es dich interessiert empfehlen dich mit
aktuellen Frameworks auseinanderzusetzen, wie z.B. Qt, GTK, ...
Hier findest du eine Liste mit Frameworks:
http://www.geocities.com/SiliconValley/Vista/7184/guitool.html
| Quote: | 6.Frage: C ist eine Teilmenge von C++. Normalerweise wird C-Quellcode
in einer Datei gespeichert, die mit .c endet.
|
Zu 99% schon ja. Es gibt ein paar Sachen, die in C++ nicht mehr
kompilieren, aber zumeist kann man C Code nach kleineren Anpassungen
mit einem C++ Compiler übersetzen.
Aber das Problem ist eher, das man in C++ anders arbeitet. Ein gutes C
Programm kann ein sehr schlechtes C++ Programm sein.
| Quote: | Frage: Kann C Programmcode nicht auch einfach in einer Datei mit .cpp
gespeichert und einfach durch einen C++ Kompiler geschickt
werden....oder anders gefragt: kann man C und C++ Code einfach
"vermengen"? Ich habe festgestellt, das bei die Beispielen aus dem
Buch von Breymann das Ausgabefenster nur kurz aufblitzt und sofort
wieder verschwindet, bevor man das Ergebnis erkennen kann. Ich bin
|
Das liegt nur an deiner Entwicklungsumgebung.
| Quote: | daher hingegangen und einfach in den Header meines C++ Programms noch
ein #include<stdio.h> einzubauen und am Ende des Programms noch ein
getchar(); eingebaut, damit die Ausgabe solange sichtbar bleibt, bis
ich ein Return eingebe.
|
Ja, das ist eine Möglichkeit. Ich machs mit dem Visual Studio genauso.
mfg
Christoph
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Heiko Bauke Guest
|
Posted: Tue Apr 12, 2005 6:06 am Post subject: Re: Anfängerfragen zu short, int, long undweitere.... |
|
|
Hi,
On Tue, 12 Apr 2005 01:50:33 +0200
Christoph Rabel <odie (AT) hal9000 (DOT) vc-graz.ac.at> wrote:
| Quote: | Ottmar Ohlemacher wrote:
4.Frage: Ich lerne gerade (versuche es wenigsens C++ aus dem Buch
C++ Eine Einführung von Ulrich Breymann, 4.Auflage, welches den
letzten ISO C++ Standardentwurf vom Janur 1997 berücksichtigt. Frage:
Ist dieses Werk noch aktuell bzw empfehlenswert? Ergänzungsfrage: Als
Ich kenne das Buch nicht, doch 1997 dürfte veraltet sein.
|
vor kurzem ist eine achte Auflage dieses Buches erschienen. Wie stark
sich vierte und achte Auflage unterscheiden, kann ich nicht sagen, würde
im Zweifel aber zur neuesten Auflage greifen. Ich kenne das Werk auch
nur flüchtig in der X. Auflage, bin aber der Meinung, dass eher eines
der besseren Bücher über C++ ist.
Ja, das Buch ist prima, hat mir sehr geholfen, die STL zu verstehen. Es
gibt auch eine deutsche Version (Die ich gelesen habe.):
http://www.informatik.hs-bremen.de/~brey/stlb.html
Heiko
--
-- Man braucht zwei Jahre um sprechen zu lernen und fünfzig, um schweigen
-- zu lernen. (Ernest Hemingway, 1899-1961)
-- Supercomputing in Magdeburg @ http://tina.nat.uni-magdeburg.de
-- Heiko Bauke @ http://www.uni-magdeburg.de/bauke
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Ralph Oliver Schunk Guest
|
Posted: Tue Apr 12, 2005 7:36 am Post subject: Re: Anfängerfragen zu short, int, long und weitere.... |
|
|
Christoph Rabel <odie (AT) hal9000 (DOT) vc-graz.ac.at> wrote:
| Quote: | Ottmar Ohlemacher wrote:
4.Frage: Ich lerne gerade (versuche es wenigsens C++ aus dem Buch
C++ Eine Einführung von Ulrich Breymann, 4.Auflage, welches den
letzten ISO C++ Standardentwurf vom Janur 1997 berücksichtigt. Frage:
Ist dieses Werk noch aktuell bzw empfehlenswert? Ergänzungsfrage: Als
Ich kenne das Buch nicht, doch 1997 dürfte veraltet sein.
Allerdings habe ich dann mal kurz gesucht und folgendes Buch gefunden:
http://www.informatik.hs-bremen.de/~brey/stlbe.pdf
Das schaut nicht so schlecht aus. Ich habs allerdings nur kurz überflogen.
|
Beide Bücher hab' ich sehr erfolgreich benutzt
und oft meinen Studenten/Kollegen empfohlen.
Gruß - und ich tue es immer noch -
Ralph
--
Es gibt 10 Arten von Menschen,
die, die Binär lesen können,
und die, die es nicht können.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Rolf Magnus Guest
|
Posted: Tue Apr 12, 2005 9:24 am Post subject: Re: Anfängerfragen zu short, int, long und weitere.... |
|
|
Christoph Rabel wrote:
| Quote: | Im großen und ganzen mache ich mir keine Gedanken, solange ich mit
Zahlen innerhalb von 32 bit bleibe. Ich gehe davon aus, das auf jedem
System ein 32 bit Datentyp existiert.
Das ist ein praktischer Ansatz, der aber wie du richtig erkannt hast
nicht korrekt sein muss.
|
Ein Integertyp mit mindestens 32bit muß auf jeden Fall existieren. Für long
ist diese Mindestgröße garantiert.
| Quote: | ANSI C entspricht ISO C, nur ein paar Kapitel wurden umsortiert.
|
Ich dachte, die seien absolut gleich, inklusive Kapitelnummern.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Christoph Rabel Guest
|
Posted: Tue Apr 12, 2005 9:38 am Post subject: Re: Anfängerfragen zu short, int, long und weitere.... |
|
|
Rolf Magnus wrote:
| Quote: | Christoph Rabel wrote:
ANSI C entspricht ISO C, nur ein paar Kapitel wurden umsortiert.
Ich dachte, die seien absolut gleich, inklusive Kapitelnummern.
|
http://www-info2.informatik.uni-wuerzburg.de/dclc-faq/kap5.html
mfg
Christoph Rabel
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Tobias Guest
|
Posted: Sat Apr 16, 2005 7:47 am Post subject: Re: Anfängerfragen zu short, int, long und weitere.... |
|
|
| Quote: | 3.Frage: Wenn die einzelnen Variablentypen eine unterschiedliche
Anzahl von Bits verwenden, wie verträgt sich das mit der
"Portierbarkeit" von C++ (oder C) Quellcode...oder ist eben eine
Portierung eines Programmes nur auf ein Rechner(system) möglich,
welches mindestens genau so viele Bits verwendet wie das
"Ursprungssystem" hatte?
Jein. Im Prinzip ist eine Portierung dann einfach, wenn der maximale
Wertebereich den benutzten Wertebereich übersteigt.
Im großen und ganzen mache ich mir keine Gedanken, solange ich mit
Zahlen innerhalb von 32 bit bleibe. Ich gehe davon aus, das auf jedem
System ein 32 bit Datentyp existiert.
Das ist ein praktischer Ansatz, der aber wie du richtig erkannt hast
nicht korrekt sein muss.
Im großen und ganzen muss man in der Praxis irgendwo einen Schlussstrich
ziehen und darauf vertrauen, das etwas so ist.
gerade beim automatischen laden/speichern von Integer-Daten funktioniert |
das dann leider nicht mehr. a) es muss die endianess des Rechners
beachtet werden (falls das Programm z.B. auf Mac laufen soll) und b)
können die automatischen Konvertierungen bei z.B. <>> in
iostream/fstream nicht ohne weiters verwendet werden, da evtl. mal ein
long halt 64bit haben kann oder ein int "nur" 16 bit.
Da hilft dann nur mit den garantierten Byte-Werten (char=1 byte, short=2
byte, long=4 byte) zu arbeiten und das rausspeichern per Hand zu machen.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|