Article View: pl.comp.lang.c
Article #267720Re: Ciemna strona C++
From: Maciej Piechotka
Date: Sat, 10 Nov 2007 09:55
Date: Sat, 10 Nov 2007 09:55
61 lines
2980 bytes
2980 bytes
>> >> Do tego właśnie służy CONST!!!
>> > Co ty wyyślasz???!!?!?!?!?!?!?
>> >
>> > int dupa(int niemodyfikowany, int& modyfikowany); gdzie masz jakieś
>> > const??!?!
>>
>> int dupa(int niemodyfikowany // tu wszyscy orędownicy języków
>> lepszych // podnoszą larum o kopiowanie,
>> // zatem proponuję to co poniżej
>> , int& modyfikowany);
>>
>> int dupa(type const & niemodyfikowany, type & modyfikowany); int
>> dupa(POD_type const niemodyfikowany, POD_type & modyfikowany);
> Tylko wywołanie będzie wyglądało i tak w ten sposób: int a,b; dupa(a,b);
>
Hmmm.
1. Czytelne nazwy funkcji
2. Skądś musi wziąść kolejność parametrów funkcji i ich znaczenie. To czy
parametr jest/może być/nie jest modyfikowany powinno być w pobliżu.
> Programista zorientuje się, że coś jest tutaj może być modyfikowane
> dopiero jako obejrzy nagłówek dupy, a wskaźniki wymuszą dodanie & i
> pisanie:
> dupa(a,&b);
>
> co rzuca się bardziej w oczy przy czytaniu kodu.
>
char *c = "test";
const char *d = "test";
void
test(char *cc)
{
cc[0] = 'c';
}
void
test2(char *dd)
{
dd[0] = 'd';
}
void
test3()
{
test(c);
test(d);
}
OK. W gcc wyrzuca warningi ale przy char * const traktuje się niestety
dość swobodnie... I nie ma takiej czytelności z &. A z tego co wiem
konstrukcja w pierwszej linii nie powinna w ogóle być poprawna.
Pozdrawiam
--
I've probably left my head... somewhere. Please wait untill I find it.
Homepage (pl_PL): http://uzytkownik.jogger.pl/
(GNU/)Linux User: #425935 (see http://counter.li.org/)
Technical Details
Message-ID:
<kpbg05-f1i.ln1@router.piechotka.com.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.internetia.pl!nnrpd.internetia.plReferences:
<fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh2lj6$qkh$1@news.vectranet.pl> <20071110000717.4b6762ff@Vorago>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.internetia.pl!nnrpd.internetia.pl From: Maciej Piechotka <uzytkownik2@gmail.com> Newsgroups: pl.comp.lang.c Subject: Re: Ciemna strona C++ Date: Sat, 10 Nov 2007 10:55:32 +0100 Organization: Netia S.A. Lines: 62 Message-ID: <kpbg05-f1i.ln1@router.piechotka.com.pl> References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh2lj6$qkh$1@news.vectranet.pl> <20071110000717.4b6762ff@Vorago> NNTP-Posting-Host: 87-205-195-243.adsl.inetia.pl Mime-Version: 1.0 X-Trace: mx1.internetia.pl 1194689656 24509 87.205.195.243 (10 Nov 2007 10:14:16 GMT) X-Complaints-To: abuse@inetia.pl NNTP-Posting-Date: Sat, 10 Nov 2007 10:14:16 +0000 (UTC) X-Tech-Contact: usenet@internetia.pl X-Orig-Path: router.piechotka.com.pl!news User-Agent: Pan/0.132 (Waxed in Black) X-Server-Info: http://www.internetia.pl/news/ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit