🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1752

Re: Argghh! String-Literals nicht const! (War:Vergleich 'strcmp()' ...)

#1752
From: Frank Thilo
Date: Mon, 04 Mar 1996 21:43
35 lines
2060 bytes
 a2597420@athena.rrz.uni-koeln.de (Joachim Zobel) wrote:
>Scheint mir eine ziemliche Sauerei zu sein. Das ARM (2.5.4) sagt:
>
>String literals are of type char[] and not const char[] for
>compatibility with Classic C where early software took advantage of
>literals beeing distinct and modifiable. 
>
>Das heisst: Man hat den Standard so gemacht, das alter Code zwar noch
>compiliert, aber undefiniertes Verhalten hat, anstatt den Compiler die
>entsprechenden Stellen anzeigen zu lassen. Was sollte das?

Nun, die Begruendung erscheint mir auch etwas fragwuerdig. Meienr
Meinung nach ist der Grund eher der, dass alter Code halt ohne
Verwendung von 'const' geschrieben wurde und nun nicht mehr
compilierbar waere:

void f(char *);

...

  f("test");
  
Dies gaebe eine Fehlermeldung, wenn Stringliterale vom Typ 'const char *'
waeren. Man muesste also in alle alten Quellcodes explizite casts
hineinschreiben.

Wenn ich mich nicht taeusche (lasse mich gerne korrigieren), werden in
ANSI-C solch implizite casts von 'const char *' auf 'char *'
durchgefuehrt, so dass natuerlich auch hier Probleme beim Umstieg auf
C++ auftreten. Nur ist der Fall mit den Stringkonstanten wohl einfach
zu haeufig.

-- 
Frank Thilo   -  thilo@unix-ag.uni-siegen.de  -  PGP key available
IRC: Chestal  -  http://www.unix-ag.uni-siegen.de/~thilo/
Technical Details
Message-ID: <4P2OxAu7tdKe089yn@unix-ag.uni-siegen.de>
Path: arc1-ca.pugleaf.net!news.dfn.de!si-nic!usenet
References: <4h2pg1$cto@news.BelWue.DE> <PDZ9BGIH@wuschel.ibb.schwaben.com> <4hass8$75o@news.rrz.uni-koeln.de> <4hehoi$21n@rzsun02.rrz.uni-hamburg.de> <4hfekb$lbn@news.rrz.uni-koeln.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.dfn.de!si-nic!usenet
From: thilo@unix-ag.uni-siegen.de (Frank Thilo)
Newsgroups: de.comp.lang.c++
Subject: Re: Argghh! String-Literals nicht const! (War:Vergleich 'strcmp()' ...)
Date: Mon, 04 Mar 1996 22:43:20 +0100
Organization: University of Siegen
Message-ID: <4P2OxAu7tdKe089yn@unix-ag.uni-siegen.de>
References: <4h2pg1$cto@news.BelWue.DE> <PDZ9BGIH@wuschel.ibb.schwaben.com>
 <4hass8$75o@news.rrz.uni-koeln.de> <4hehoi$21n@rzsun02.rrz.uni-hamburg.de>
 <4hfekb$lbn@news.rrz.uni-koeln.de>
Reply-To: gl600@appl2.hrz.uni-siegen.de
NNTP-Posting-Host: appl2.hrz.uni-siegen.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit