Article View: pl.comp.lang.c
Article #298011Nowe słowa kluczowe?
From: slawek
Date: Mon, 29 Aug 2011 13:18
Date: Mon, 29 Aug 2011 13:18
39 lines
2810 bytes
2810 bytes
Czy sin, cos, tan itp. to słowa kluczowe języka C ?
Pytanie nie jest tak idiotyczne, jak może się wydawać: jeżeli np. tan to
identyfikator będący nazwą funkcji, to powinno dać się zdefiniować np.:
void tan(int a, long* b)
{
*b = a;
}
A się nie daje. Przynajmniej w VC.
Jeżeli ktoś myśli, że to głupie - bo tan jest nazwą zastrzeżoną - to
wyjaśniam w czym rzeczywiście jest problem: jest względnie mało słów
kluczowych (nie ma problemu, raczej nikt nie nazywa zmiennej while, np.
for(int while = 1; while < case; while = while + if) każdy uznałby za
dziwactwo)
http://www.crasseux.com/books/ctutorial/Reserved-words-in-C.html
ale dużo za dużo "reserved identifiers" - i to nie tylko używanych do czegoś
http://web.archive.org/web/20040209031039/http://oakroadsystems.com/tech/c-predef.htm#ReservedIdentifiers
lecz także takich "na wszelki wypadek" - np. rezerwowanie słów z dowolnym
postfiksem (na poczet przyszłych zastosowań) to de facto rezerwowanie
jakichkolwiek identyfikatorów więcej niż jednoliterowych. A takie coś można
znaleźć obok nazw zaczynających się przez znak underscore czy kończących na
_t .
http://www.gnu.org/s/hello/manual/libc/Reserved-Names.html
To sprowadza się do odstępstw od reguły mówiącej że wszystko musi być
zadeklarowane przed użyciem. Oczywiście ta reguła nie może odnosić się do
słów kluczowych. Ale moim zdaniem - tylko do nich (i ewentualnie do dyrektyw
preprocesora). Nie powinno być tak, że kompilator stoi na straży cnoty
tangensa nawet jeżeli nie zamierza się użyć nigdzie funkcji tangens (nie
dołącza math.h i nie dołącza standardowych bibliotek). A jeżeli już stoi -
to po wuja dołączać math.h ?!
Technical Details
Message-ID:
<4e5b91b1$0$2501$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!news.stw-bonn.de!newsreader4.netcologne.de!news.netcologne.de!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!news.stw-bonn.de!newsreader4.netcologne.de!news.netcologne.de!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail From: "slawek" <human@site.pl> Newsgroups: pl.comp.lang.c Subject: Nowe słowa kluczowe? Date: Mon, 29 Aug 2011 15:18:41 +0200 MIME-Version: 1.0 X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Newsreader: Microsoft Windows Live Mail 15.4.3538.513 X-MimeOLE: Produced By Microsoft MimeOLE V15.4.3538.513 Lines: 41 Message-ID: <4e5b91b1$0$2501$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 62.69.202.124 X-Trace: 1314623921 unt-rea-a-02.news.neostrada.pl 2501 62.69.202.124:63157 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit