Mailinglist Archive: opensuse-de (6551 mails)
| < Previous | Next > |
Re: Was ist eine gueltige Message-ID?
- From: Ralf Corsepius <corsepiu@xxxxxxxxxxxxxx>
- Date: 04 Aug 2002 11:30:07 +0200
- Message-id: <1028452866.6638.2479.camel@mccallum>
Am Sam, 2002-08-03 um 22.56 schrieb Bernd Brodesser:
Konzept oder als Datentyp zur Verarbeitung von textuellen Zeichenketten
auffassen.
Viele Programmiersprachen kennen derartige Datentypen, deren Details ein
Programmierer nicht kennen soll/darf/muss.
Pascal/Modula Strings z.B. führen Längenfelder mit sich und entsprechen
inetwa folgendem C-Struct
struct String {
size_t len ;
char *char_array;
}
Auch das C++ string<T>-Template arbeitet nach ähnlichen Muster.
Vorteil: Anders als in C braucht man sich nicht um terminierende \0-en
zu kümmern:
Nachteil: In der Regel deutlich höherer Verwaltungsoverhead, spürbare
Geschwindigkeitseinbussen und Probleme bei Low-Level IO
(Fehlt in der Pascal-Sprachdefinition völlig).
Ralf
* Jan Trippler schrieb am 03.Aug.2002:Kommt darauf an, wie Du das meinst. Man kann String auch als abstraktes
On Sam, 03 Aug 2002 at 20:09 (+0200), Thorsten Haude wrote:
* Jan Trippler <Jan.Trippler@xxxxxxxxxxx> [02-08-03 16:53]:
Es geht doch nur darum, daß diese ganze C-Eigenheit mit dem
Zeiger-auf-Chararacter offensichtlich und bekannterweise nicht
wasserdicht ist. Darum sollte man bei ihrer Benutzung keine Haare
spalten, sondern auf Nummer sicher gehen.
Ein String ist immer ein Zeiger auf ein Byte, bei jeder
Programmierpsrache.
Konzept oder als Datentyp zur Verarbeitung von textuellen Zeichenketten
auffassen.
Es ist nur manchmal gut vor dem AnwenderS.o.
versteckt, aber wie soll man sonst ein String definieren, wenn nicht
als Zeiger?
Viele Programmiersprachen kennen derartige Datentypen, deren Details ein
Programmierer nicht kennen soll/darf/muss.
Pascal/Modula Strings z.B. führen Längenfelder mit sich und entsprechen
inetwa folgendem C-Struct
struct String {
size_t len ;
char *char_array;
}
Auch das C++ string<T>-Template arbeitet nach ähnlichen Muster.
Vorteil: Anders als in C braucht man sich nicht um terminierende \0-en
zu kümmern:
Nachteil: In der Regel deutlich höherer Verwaltungsoverhead, spürbare
Geschwindigkeitseinbussen und Probleme bei Low-Level IO
(Fehlt in der Pascal-Sprachdefinition völlig).
Ralf
| < Previous | Next > |