 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Christian Rick Guest
|
Posted: Tue Jul 18, 2006 12:38 am Post subject: Typumwandlungen |
|
|
Hallo,
ich suche eine Seite die spezielle Möglichkeiten zu Typumwandlung
verschiedener Typen bekannt gibt.
Dabei meine ich jetzt nicht Umwandlungen von Char zu Int oder Int zu Char
o.ae. , sondern z.B. von Const Char* in String, oder speziellere
Umwandlungen.
Bis auf die Typumwandlungen hatte ich bisher keine Probleme mit C++.
Ich danke euch schon mal im Vorraus für Antworten.
Gruß
Christian Rick
--
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 |
|
 |
Thomas Maeder Guest
|
Posted: Tue Jul 18, 2006 1:29 am Post subject: Re: Typumwandlungen |
|
|
Christian Rick <christian.rick (AT) gmx (DOT) de> writes:
| Quote: | ich suche eine Seite die spezielle Möglichkeiten zu Typumwandlung
verschiedener Typen bekannt gibt.
Dabei meine ich jetzt nicht Umwandlungen von Char zu Int oder Int zu
Char o.ae. , sondern z.B. von Const Char* in String, oder
speziellere Umwandlungen.
Bis auf die Typumwandlungen hatte ich bisher keine Probleme mit C++.
|
Und was für Probleme hast Du mit Typumwandlungen?
--
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 |
|
 |
Christian Rick Guest
|
Posted: Tue Jul 18, 2006 1:52 am Post subject: Re: Typumwandlungen |
|
|
Thomas Maeder wrote:
| Quote: |
Christian Rick <christian.rick (AT) gmx (DOT) de> writes:
ich suche eine Seite die spezielle Möglichkeiten zu Typumwandlung
verschiedener Typen bekannt gibt.
Dabei meine ich jetzt nicht Umwandlungen von Char zu Int oder Int zu
Char o.ae. , sondern z.B. von Const Char* in String, oder
speziellere Umwandlungen.
Bis auf die Typumwandlungen hatte ich bisher keine Probleme mit C++.
Und was für Probleme hast Du mit Typumwandlungen?
|
Ich würde gerne wissen, wie ich bspw. Const Char in Char umwandeln kann, und
wieder zurück.
Das mit der Anfrage betreffend solcher Seiten lag in der Idee, dass ich dann
weniger Arbeit hätte mit dem zusammensuchen solcher Typenumwandlungen.
--
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 |
|
 |
Christian Rick Guest
|
Posted: Tue Jul 18, 2006 2:07 am Post subject: Re: Typumwandlungen |
|
|
Christian Rick wrote:
| Quote: | Hallo,
ich suche eine Seite die spezielle Möglichkeiten zu Typumwandlung
verschiedener Typen bekannt gibt.
Dabei meine ich jetzt nicht Umwandlungen von Char zu Int oder Int zu Char
o.ae. , sondern z.B. von Const Char* in String, oder speziellere
Umwandlungen.
Bis auf die Typumwandlungen hatte ich bisher keine Probleme mit C++.
Ich danke euch schon mal im Vorraus für Antworten.
Gruß
Christian Rick
|
Und von einer std::string Variablen in eine Const Char bzw. Char Variable
wäre interessant... Char -> Const Char und zurück hab ich nun gelöst.
Gruß
--
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 |
|
 |
Norbert Melzer Guest
|
Posted: Tue Jul 18, 2006 2:14 am Post subject: Re: Typumwandlungen |
|
|
Christian Rick schrieb:
| Quote: | Ich würde gerne wissen, wie ich bspw. Const Char in Char umwandeln kann, und
wieder zurück.
|
Du kannst const char in ein char kopieren und mit der Kopie
weiterarbeiten, aber eine Umwandlung ist da nicht möglich...
Stell Dir vor Du hast eine behauene Marmorplatte (const char) da kannst
auch kein Blatt Papier draus machen (char) sondern höchstens Foto von
machen und darauf dann Notizen, OK ich gebe zu der Vergleich hinkt,
sollte die Problematik aber klar 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 |
|
 |
Andreas Huennebeck Guest
|
|
| Back to top |
|
 |
Rolf Magnus Guest
|
Posted: Tue Jul 18, 2006 1:48 pm Post subject: Re: Typumwandlungen |
|
|
Andreas Huennebeck wrote:
| Quote: | Christian Rick wrote:
Und von einer std::string Variablen in eine Const Char
std::string s;
...
const char* cp = s.c_str(); // wenn s verschwindet, ist cp nicht mehr
gültig
|
Auch wenn s geändert wird.
| Quote: | bzw. Char Variable wäre interessant...
char* cp = strdup(s.c_str());
if (0 == cp) error("not enough memory");
|
strdup ist allerdings keine Standardfunktion. Außerdem darf man nicht
vergessen, den String später mit free (und keinesfalls mit delete[]) wieder
freizugeben.
--
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 |
|
 |
Tibor Pausz Guest
|
Posted: Tue Jul 18, 2006 2:07 pm Post subject: Re: Typumwandlungen |
|
|
Andreas Huennebeck <acmh (AT) gmx (DOT) de> wrote:
| Quote: | std::string s;
...
const char* cp = s.c_str(); // wenn s verschwindet, ist cp nicht mehr gültig
|
Nein, wenn man irgend was mit s macht ist cp nicht mehr gültig!
--
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 |
|
 |
kanze Guest
|
Posted: Tue Jul 18, 2006 4:55 pm Post subject: Re: Typumwandlungen |
|
|
Christian Rick wrote:
| Quote: | Thomas Maeder wrote:
Christian Rick <christian.rick (AT) gmx (DOT) de> writes:
ich suche eine Seite die spezielle Möglichkeiten zu Typumwandlung
verschiedener Typen bekannt gibt.
Dabei meine ich jetzt nicht Umwandlungen von Char zu Int oder Int zu
Char o.ae. , sondern z.B. von Const Char* in String, oder
speziellere Umwandlungen.
Bis auf die Typumwandlungen hatte ich bisher keine Probleme mit C++.
Und was für Probleme hast Du mit Typumwandlungen?
Ich würde gerne wissen, wie ich bspw. Const Char in Char
umwandeln kann, und wieder zurück.
|
Verstehst du schon lvalue und rvalue? Das ist in diesem Fall
bedeutend; bei einer rvalue von nicht Klassen Typ haben die
äußersten const keine Bedeutung. Das heißt, dass wenn dein
»const char« (man schreibt aber lieber »char const«) in rvalue
umgewandelt wird, verhält es genau wie ein char. Zum Beispiel:
char const c1 = 'x' ;
char c2 ;
c2 = c1 ;
Die Zuweisung verlangt eine rvalue als rechten Operand. Also
wird den lvalue c1 in rvalue von Typ char umgewandelt.
Wenn du nicht mit den Begriffen lvalue und rvalue vertraut bist,
würde ich vorschlagen, dass du damit anfängst.
Historisch betrachtet heißt das l in lvalue »left«; es war ein
Wert, der auf der linke Seite eine Zuweisung vorkommen könnte.
Heute würde ich ehe als eine Verkürzung von »lokalisierbar«
denken---es ist ein Wert, der an eine feste Stelle im Speicher
liegt. (Leider finde ich nichts entsprechendes für das r in
rvalue. Das historisch »right« bedeutet. Auch: die Regeln sind
bei Klassentypen etwas komplizierte, da auch rvalue gelegentlich
eine Speicheradresse für den this-Zeiger brauchen.) Also zum
Beispeil oben sind die Ausdrucke »c1« und »c2« lvalue; Ausdrucke
wie aber »'x'«, »42« und »c1 + 1« nicht, weil die keine feste
Speicheradresse haben.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
--
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 |
|
 |
kanze Guest
|
Posted: Tue Jul 18, 2006 5:13 pm Post subject: Re: Typumwandlungen |
|
|
Christian Rick wrote:
| Quote: | Und von einer std::string Variablen in eine Const Char bzw.
Char Variable wäre interessant... Char -> Const Char und
zurück hab ich nun gelöst.
|
Grundsätzlich geht's nicht, eine std::string kann beliebig viele
Zeichen enthalten, eine char Variable aber nur eine.
Mann kann die einzelnen Zeichen einer std::string mittels []
angreifen, also:
std::string s( "Hello" ) ;
char c = s[ 0 ] ; // jetzt ist c == 'H'
Nach der Art deiner Fragen fürchte ich aber, dass du etwas
grundlegender verpasst hast.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
--
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
|
|