 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Thomas Finke Guest
|
Posted: Sun May 09, 2004 9:18 pm Post subject: v366llig verwirrt d... ^ |
|
|
Hallo,
ich bin Anfänger in der C++-Programmierung und habe meine Probleme mit den
Zeigern.
Wenn ich eine folgende Funktion habe
test (int i)
{
}
Da wird ja einfach gesagt, daß i vom Typ Integer ist.
Nun hab ich hier aber:
test (int& i)
{
}
Was hat das zu bedeuten? Also, daß ich mit p = &i der Variable p die Adresse
von i zuweise hab ich kapiert und daß ich dann mit *p = 1 den Wert von i auf
1 setzen kann. Aber wieso steht das & bei dem int? Und wieso steht das &
überhaupt in der Zeile der Funktion und nicht dort wo die Funkiton
aufgerufen wird?
Das gleiche Problem hab ich übrigens auch bei:
char* text;
Wieso geht da nicht
char text;
Wäre nett wenn mir jemand weiterhelfen könnte.
Gruß,
Thomas
--
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 |
|
 |
helmut zeisel Guest
|
Posted: Mon May 10, 2004 4:51 am Post subject: Re: völlig verwirrt durch Zeiger |
|
|
Thomas Finke wrote:
| Quote: | test (int& i)
{
}
Was hat das zu bedeuten?
|
Call by reference; siehe mal in Deinem C++ Buch unter "Referenzen" nach.
Helmut
--
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 |
|
 |
Anton Huber Guest
|
Posted: Mon May 10, 2004 6:30 am Post subject: Re: v366llig verwirrt d... ^ |
|
|
"Thomas Finke" throwed this exception:
Hi,
| Quote: | Wenn ich eine folgende Funktion habe
|
int i = 10;
| Quote: | test (int i)
{
}
Da wird ja einfach gesagt, daß i vom Typ Integer ist.
Nun hab ich hier aber:
|
int a = 10;
int * i = &a;
Oder: test(&a);
| Quote: | Was hat das zu bedeuten? Also, daß ich mit p = &i der Variable p die Adresse
von i zuweise hab ich kapiert und daß ich dann mit *p = 1 den Wert von i auf
1 setzen kann. Aber wieso steht das & bei dem int? Und wieso steht das &
überhaupt in der Zeile der Funktion und nicht dort wo die Funkiton
aufgerufen wird?
|
Du übergibst eine Adresse und nicht den Wert der Variable.
Alles was im UP mit der Variable passiert wirkt sich auch
im HP aus ...
| Quote: | Das gleiche Problem hab ich übrigens auch bei:
char* text;
Wieso geht da nicht
char text;
|
Geht eh nur hast dann halt nur ein "char" also
z.B. 'a' oder 'b' oder 'c' oder 'e' oder was auch
immer.
Willst aber einen gnazen Text (nicht konstant) abspeichern
ist char * ganz hilfreich ...
char text[100] = "Ich bin so super!"
char * ptext;
ptext = text;
while (*ptext <> " ") {
print *ptext;
print "n";
ptext++;
}
Ausgabe:
I
c
h
b
i
etc.
Gruss
Anton
--
Aber wieso? Gestern gings doch noch!
--
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 |
|
 |
Patrick Kursawe Guest
|
Posted: Mon May 10, 2004 7:55 am Post subject: Re: völlig verwirrt durch Zeiger |
|
|
Hallo Thomas,
zum Thema "Referenzen" ist Dir ja schon ein Hinweis gegeben worden.
Thomas Finke wrote:
| Quote: | Das gleiche Problem hab ich übrigens auch bei:
char* text;
Wieso geht da nicht
char text;
|
Weil es etwas völlig anderes ist. "char" ist ein einzelnes Zeichen.
"char *" ist ein Zeiger auf ein Zeichen. Also "da steht ein Zeichen im
Speicher". Und wenn hinter diesem Zeichen noch andere stehen und am Ende
einmal die 0 vorkommt, hat man das, was in C als String benutzt wird.
Tschüs, Patrick
--
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 |
|
 |
Daniel Albuschat Guest
|
Posted: Mon May 10, 2004 8:49 am Post subject: Re: völlig verwirrt durch Zeiger |
|
|
Anton Huber wrote:
| Quote: | "Thomas Finke" throwed this exception:
Wenn ich eine folgende Funktion habe
int i = 10;
Was hat die Zeile mit dem Rest zu tun? |
[snip]
| Quote: | Nun hab ich hier aber:
int a = 10;
int * i = &a;
|
Hier ebenso. Wo ist die Beziehung zum Problem des OP?
| Quote: | test (int& i)
{
}
Oder: test(&a);
|
Das eine ist eine (unvollstaendige) Funktionsdeklaration,
du zeigst einen Funktionsaufruf. Zusammenhang?
Zudem passt der Aufruf nichtmals zur Deklaration.
Du wuerdest ein int* uebergeben, die Funktion erwartet
aber einen int&.
| Quote: | Du übergibst eine Adresse und nicht den Wert der Variable.
|
Er uebergibt eine Referenz, und nicht die Adresse der Variablen.
| Quote: | Alles was im UP mit der Variable passiert wirkt sich auch
im HP aus ...
|
Das wiederum ist richtig. Fuer den OP zur Erlaeuterung:
UP == Unterprogramm, HP == Hauptprogramm (wobei das HP auch ein UP
sein kann... komische Begrifflichkeiten, IMHO)
[char vs char*]
| Quote: | Geht eh nur hast dann halt nur ein "char" also
z.B. 'a' oder 'b' oder 'c' oder 'e' oder was auch
immer.
Willst aber einen gnazen Text (nicht konstant) abspeichern
ist char * ganz hilfreich ...
char text[100] = "Ich bin so super!"
|
char* != char[]
D.h. die Aussage "Willst aber einen gnazen Text (nicht konstant)
abspeichern ist char * ganz hilfreich ..." koennte
faelschlicherweise so aufgefasst werden, dass
| Quote: | char *a = "foobar";
a[0] = "p";
|
korrekt sei. Ist es aber nicht.
MfG,
Daniel Albuschat
--
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: Mon May 10, 2004 9:16 am Post subject: Re: völlig verwirrt durch Zeiger |
|
|
Anton Huber wrote:
| Quote: | "Thomas Finke" throwed this exception:
|
Die Vergangenheitsform von "trow" ist "threw".
| Quote: | Hi,
Wenn ich eine folgende Funktion habe
int i = 10;
|
??
| Quote: | test (int i)
{
}
Da wird ja einfach gesagt, daß i vom Typ Integer ist.
Nun hab ich hier aber:
int a = 10;
int * i = &a;
|
?
| Quote: | test (int& i)
{
}
Oder: test(&a);
|
Oder? Der OP schreibt eine Funktionsdefinition hin und du gibts als
Alternative dazu einen Funktionsaufruf? Das ergibt keinen Sinn.
| Quote: | Was hat das zu bedeuten? Also, daß ich mit p = &i der Variable p die
Adresse von i zuweise hab ich kapiert und daß ich dann mit *p = 1 den
Wert von i auf 1 setzen kann. Aber wieso steht das & bei dem int? Und
wieso steht das & überhaupt in der Zeile der Funktion und nicht dort
wo die Funkiton aufgerufen wird?
Du übergibst eine Adresse und nicht den Wert der Variable.
|
Er übergibt eine Referenz.
| Quote: | Alles was im UP mit der Variable passiert wirkt sich auch
im HP aus ...
|
Wer oder was ist "UP" und "HP"?
| Quote: | Das gleiche Problem hab ich übrigens auch bei:
char* text;
Wieso geht da nicht
char text;
Geht eh nur hast dann halt nur ein "char" also
z.B. 'a' oder 'b' oder 'c' oder 'e' oder was auch
immer.
Willst aber einen gnazen Text (nicht konstant) abspeichern
ist char * ganz hilfreich ...
char text[100] = "Ich bin so super!"
char * ptext;
ptext = text;
while (*ptext <> " ") {
print *ptext;
print "n";
ptext++;
}
|
Was ist das für eine Sprache?
--
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 |
|
 |
Anton Huber Guest
|
Posted: Mon May 10, 2004 10:02 am Post subject: Re: v366llig verwirrt d... ^ |
|
|
"Thomas Finke" warf this exception:
Hi,
| Quote: | ich bin Anfänger in der C++-Programmierung und
habe meine Probleme mit den Zeigern.
|
Nachdem diese Weltverbesserer nicht wirklich antworten
können (obwohl sie scheinbar alles ganz genau, besser,
schöner und flinker können) aber sich auf jeden
Antwortbeitrag wie die Geier stürtzen
... (Bin gespannnt was als Nächstes kommt ...):
| Quote: | Wenn ich eine folgende Funktion habe
test (int i)
{
}
|
Wenn Du test so aufrufst:
int i = 10;
test (i);
Wird dem Unterprogramm eine Kopie von i übergeben.
Manipulationen von i im Unterprogramm wirken sich
auf i im Hauptprogramm nicht aus.
| Quote: | Da wird ja einfach gesagt, daß i vom Typ Integer ist.
Nun hab ich hier aber:
test (int& i)
{
}
|
Wenn du jedoch (so) test (&i) aufrufst wird eine Referenz
resp. die Speicheradresse von i übergeben,
Manipulationen auf i im Unterprogramm wirken sich auf i
im Hauptprogramm dirket aus.
| Quote: | Was hat das zu bedeuten? Also, daß ich mit p = &i der Variable p die Adresse
von i zuweise hab ich kapiert und daß ich dann mit *p = 1 den Wert von i auf
1 setzen kann. Aber wieso steht das & bei dem int? Und wieso steht das &
überhaupt in der Zeile der Funktion und nicht dort wo die Funkiton
aufgerufen wird?
|
Wahrscheinlich werde ich wieder gesteinigt ...
Zeiger kennst Du ja schon, nun mit Zeigern zu arbeiten ist etwas
schwerer und vor allem auch fehleranfälliger (ausser für die
hier in der Gruppe ).
Daher gibts diesen tollen Referenzoperator (&), der nimmt
Dir die viele Arbeit ab und Du kannst dennoch die Vorteile
von Zeigern nutzen ohne Dich um die Referenzierung und
Dereferenzierung kümmern zu müssen.
| Quote: | Das gleiche Problem hab ich übrigens auch bei:
char* text;
Wieso geht da nicht
char text;
|
Char ist nur für ein einzelnes Zeichen. Wenn Du Zeichenketten
bearbeiten willst musst Du char * verwenden (oder char[] was aber
im Prinzip das selbe ist nur das die [] die De- und Rferenzierung
übernehmen) da c++ IMHO keine eignen String-Datentypen zur
Verfügung stellt.
Dann noch eine Entschuldigung: mir kommen die Sprachen
schon etwas durcheinander:
char text[100] = "Ich bin so super!";
char * ptext;
ptext = text;
while (*ptext <> " ") {
cout << *ptext << endl;
ptext++;
}
oder
while (ptext++) {
cout << *ptext << endl;
}
Ausgabe:
I
c
h
b
i
etc
Ich hoffe ich hab Dir etwas geholfen, und den anderen
wieder etwas Kanonenfutter gegeben ... ;-)
Gruss
Anton
--
Aber wieso? Gestern gings doch noch!
--
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 |
|
 |
Anton Huber Guest
|
Posted: Mon May 10, 2004 10:21 am Post subject: Re: v366llig verwirrt d... ^ |
|
|
Rolf Magnus warf this exception:
Hi,
| Quote: | Die Vergangenheitsform von "trow" ist "threw".
^^^^^
Was ist das für eine Sprache?
|
Und was is das (vrgl. ^^^^^) für eine Sprache?
^
Gruss
Anton
--
Aber wieso? Gestern gings doch noch!
--
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 |
|
 |
Heinz Saathoff Guest
|
Posted: Mon May 10, 2004 11:21 am Post subject: Re: völlig verwirrt durch Zeiger |
|
|
Moin,
Anton Huber schrieb...
| Quote: | Dann noch eine Entschuldigung: mir kommen die Sprachen
schon etwas durcheinander:
Auch hier wieder, aber mit jeder Iteration wird's besser  |
| Quote: | char text[100] = "Ich bin so super!";
char * ptext;
ptext = text;
while (*ptext <> " ") {
!= ' ' |
<> gibt's in C++ nicht.
Alles in "" ist ein char-array und kein Einzelzeichen
| Quote: | cout << *ptext << endl;
ptext++;
}
oder
while (ptext++) {
So wie's hier geschrieben steht, durchläufst Du den gesamten Adressraum, |
was auf modernen Systemen früher oder später zu einem seg-fault führt.
Es muß das dereferenzierte Zeichen geprüft werden, also
while(*ptext++) { //...
| Quote: |
cout << *ptext << endl;
Da Du im while test schon ein inkrement gemacht hast, wird das 1. |
Zeichen nicht mit ausgegeben. Dafür aber das abschließende ' '.
Nur als kurzer Hinweis gedacht.
- Heinz
--
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 |
|
 |
Anton Huber Guest
|
Posted: Mon May 10, 2004 12:31 pm Post subject: Re: v366llig verwirrt d... ^ |
|
|
Heinz Saathoff threw this exception:
Hi,
| Quote: | char text[100] = "Ich bin so super!";
char * ptext;
ptext = text;
while (*ptext <> " ") {
!= ' '
gibt's in C++ nicht.
Alles in "" ist ein char-array und kein Einzelzeichen
|
Man sieht wieder einmal das die Vielfalt der
Programmiersprachen und eine zu intensive
Auseinandersetzung mit VBA für Access
den Hirntot herbeiführen ;-)
[snip]
while (*ptext != ' ') {
cout [...];
ptext++;
}
?
| Quote: | Nur als kurzer Hinweis gedacht.
|
Danke :-)
Gruss
Anton
--
Aber wieso? Gestern gings doch noch!
--
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: Mon May 10, 2004 12:34 pm Post subject: Re: völlig verwirrt durch Zeiger |
|
|
Anton Huber wrote:
| Quote: | Rolf Magnus warf this exception:
Hi,
Die Vergangenheitsform von "trow" ist "threw".
^^^^^
Was ist das für eine Sprache?
Und was is das (vrgl. ^^^^^) für eine Sprache?
^
|
Im Gegensatz zu deinem Code, der in C++ schlicht keinen Sinn ergibt und
den falschen Informationen, die dein Posting an Einsteiger vermittelt,
war das "trow" nur ein simpler Tippfehler.
--
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 |
|
 |
Daniel Albuschat Guest
|
Posted: Mon May 10, 2004 12:37 pm Post subject: Re: völlig verwirrt durch Zeiger |
|
|
Anton Huber wrote:
| Quote: | "Thomas Finke" warf this exception:
|
Das deutsche Wort fuer `this' ist `diese' (in diesem
Kontext).
| Quote: | Nachdem diese Weltverbesserer nicht wirklich antworten
können (obwohl sie scheinbar alles ganz genau, besser,
schöner und flinker können) aber sich auf jeden
Antwortbeitrag wie die Geier stürtzen
... (Bin gespannnt was als Nächstes kommt ...):
|
Es haben doch bereits drei Leute (inkl. dir) aus
der Gruppe geantwortet.
Ach und danke fuer die Schmeicheleien.
| Quote: | Wenn ich eine folgende Funktion habe
test (int i)
{
}
Wenn Du test so aufrufst:
int i = 10;
test (i);
Wird dem Unterprogramm eine Kopie von i übergeben.
Manipulationen von i im Unterprogramm wirken sich
auf i im Hauptprogramm nicht aus.
|
Korrekt.
| Quote: | Da wird ja einfach gesagt, daß i vom Typ Integer ist.
Nun hab ich hier aber:
test (int& i)
{
}
Wenn du jedoch (so) test (&i) aufrufst wird eine Referenz
resp. die Speicheradresse von i übergeben,
Manipulationen auf i im Unterprogramm wirken sich auf i
im Hauptprogramm dirket aus.
|
Nicht korrekt.
Referenzen koennen nicht durch Pointer initialisiert werden.
| Quote: | void test( int &i ) { /* ... */ }
/* ... */
test(&i);
|
ist also ungueltig.
Es muss
heissen. Es gilt immernoch, dass Manipulationen von i im
"Unterprogramm" sich auf das "Hauptprogramm" auswirken.
| Quote: | Wahrscheinlich werde ich wieder gesteinigt ...
|
Propheten steinigt man halt. Das ist seit Jahrtausenden so Brauch.
| Quote: | Zeiger kennst Du ja schon, nun mit Zeigern zu arbeiten ist etwas
schwerer und vor allem auch fehleranfälliger (ausser für die
hier in der Gruppe ).
|
Danke fuer das unterschwellige Kompliment. Den Sarkasmus habe ich
nicht bemerkt.
| Quote: | Daher gibts diesen tollen Referenzoperator (&), der nimmt
Dir die viele Arbeit ab und Du kannst dennoch die Vorteile
von Zeigern nutzen ohne Dich um die Referenzierung und
Dereferenzierung kümmern zu müssen.
|
Es gibt keinen Referenzoperator.
& ist der Adressoperator. In Funktionsdeklarationen wird er dafuer
genutzt, Referenzparameter anzugeben. Er wird *nur* in der
Funktionsdeklaration in Zusammenhang mit Referenzen benutzt.
An dieser Stelle ist es allerdings kein Operator.
| Quote: | Char ist nur für ein einzelnes Zeichen. Wenn Du Zeichenketten
bearbeiten willst musst Du char * verwenden (oder char[] was aber
im Prinzip das selbe ist nur das die [] die De- und Rferenzierung
übernehmen) da c++ IMHO keine eignen String-Datentypen zur
Verfügung stellt.
|
`Referenzierung' gibt es in dem mirbekannten Sprachgebrauch garnicht.
[] dereferenziert einen Zeiger nicht nur, sondern fuehrt auchnoch
Zeigerarithmetiken aus. Im Allgemeinen spricht man eher davon, dass
man auf ein Element eines Arrays zugreift.
Und der string Typ von C++ heisst std::string und ist im Header <string>
deklariert.
| Quote: | Dann noch eine Entschuldigung: mir kommen die Sprachen
schon etwas durcheinander:
char text[100] = "Ich bin so super!";
|
100 Zeichen reservieren, wo du doch genau weisst, dass du nur 18 brauchst?
| Quote: | char * ptext;
ptext = text;
while (*ptext <> " ") {
|
<> ist kein gueltiger Operator in C++. Das, was du
suchst ist wohl !=.
" " ist ein const char[]. *ptext ein char. Sie koennen
also auch nicht (sinnvoll) mit != miteinander verglichen werden.
Du meintest wahrscheinlich ' '.
| Quote: | cout << *ptext << endl;
ptext++;
}
oder
while (ptext++) {
cout << *ptext << endl;
}
Ausgabe:
I
c
h
b
i
etc
|
Hast du die Ausgabe ueberprueft? Sie wird unmoeglich
bei deinem geposteten Codeschnipsel rauskommen.
| Quote: | Ich hoffe ich hab Dir etwas geholfen,
|
Eher noch mehr verwirrt.
| Quote: | und den anderen
wieder etwas Kanonenfutter gegeben ...
|
Ja, das hast du.
MfG,
Daniel Albuschat
--
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 |
|
 |
Anton Huber Guest
|
Posted: Mon May 10, 2004 1:47 pm Post subject: Re: v366llig verwirrt d... ^ |
|
|
Rolf Magnus threw this exception:
Hi,
| Quote: | Die Vergangenheitsform von "trow" ist "threw".
^^^^^
Was ist das für eine Sprache?
Und was is das (vrgl. ^^^^^) für eine Sprache?
^
Im Gegensatz zu deinem Code, der in C++ schlicht keinen Sinn ergibt und
den falschen Informationen, die dein Posting an Einsteiger vermittelt,
war das "trow" nur ein simpler Tippfehler.
|
Jaja, du kannst sagen wast willst:
Einerseits ...
{ wer im Glashaus sitzt soll nicht mit Steinen werfen }
... solltest ein delete bekommen.
Andererseits ...
{ bist der Einzige dem das bis jetzt überhaupt aufgefallen ist }
... und bekommst deswegen ein backup
... und natürlich auch weilst so gut C++ sprechen kannst ;-)
Bitte EOF ...
Gruss
Anton
--
Aber wieso? Gestern gings doch noch!
--
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 |
|
 |
Heinz Saathoff Guest
|
Posted: Mon May 10, 2004 2:06 pm Post subject: Re: völlig verwirrt durch Zeiger |
|
|
Moin,
Anton Huber schrieb...
| Quote: | [snip]
while (*ptext != ' ') {
cout [...];
ptext++;
}
?
|
Ja, so geht's. Allerdings nehmen C/C++ Programmierer hier schon lieber
for- als while-Schleifen:
for(char *ptext=text; *ptext; ++ptext) {
cout << *ptext << endl;
}
'Richtige' Programmierer ersparen sich dann noch die geschweiften
Klammern, da sowieso nur ein Statement im for-körper (sagt man das so?)
ausgeführt wird.
- Heinz
--
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 |
|
 |
Anton Huber Guest
|
Posted: Mon May 10, 2004 3:07 pm Post subject: Re: v366llig verwirrt d... ^ |
|
|
Heinz Saathoff threw this exception:
Hi,
| Quote: | Anton Huber schrieb...
[snip]
while (*ptext != ' ') {
cout [...];
ptext++;
}
?
Ja, so geht's. Allerdings nehmen C/C++ Programmierer hier schon lieber
for- als while-Schleifen:
for(char *ptext=text; *ptext; ++ptext) {
cout << *ptext << endl;
}
'Richtige' Programmierer ersparen sich dann noch die geschweiften
Klammern, da sowieso nur ein Statement im for-körper (sagt man das so?)
ausgeführt wird.
|
Ich hoffe Du sparst bei Lob genau so wenig wie bei Tadel ... ;-)
Gruss und Kuss
Anton
--
Aber wieso? Gestern gings doch noch!
--
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
|
|