🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Ciemna strona C++

#267720
From: Maciej Piechotka
Date: Sat, 10 Nov 2007 09:55
61 lines
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.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>

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