🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #298011

Nowe słowa kluczowe?

#298011
From: slawek
Date: Mon, 29 Aug 2011 13:18
39 lines
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-mail

Show 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