Newsgroups: fj.lang.c,fj.lang.c++
Path: galaxy.trc.rwcp.or.jp!coconuts.jaist!wnoc-tyo-news!infoweb-news!news.tokyo.infoweb.or.jp!fgwnews!fdmnews!flabnews!kiko!news
From: tamy@flab.fujitsu.co.jp (Yutaka Tamiya)
Subject: Re: Maximal use of "const" in function declarations ?
Message-ID: <ywnu3qxtoxi.fsf@azusa.proc.flab.fujitsu.co.jp>
Date: Mon, 11 Nov 1996 01:12:41 GMT
Organization: Fujitsu Laboratories Ltd., Kawasaki, Japan
Sender: tamy@azusa.proc.flab.fujitsu.co.jp
X-Nntp-Posting-Host: azusa
Followup-To: fj.lang.c
In-Reply-To: tamy@flab.fujitsu.co.jp's message of Fri, 8 Nov 1996 05:25:24 GMT
References: <ywnohh9xinv.fsf@azusa.proc.flab.fujitsu.co.jp>
X-Newsreader: Gnus v5.0.12
Lines: 64
Xref: galaxy.trc.rwcp.or.jp fj.lang.c:3090 fj.lang.c++:185
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.lang.c&nb=3090&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

$BED5\!wA0$N5-;v$G(B f2cc(int const* const*) $B$N$O$:$,(B f2cc(int * const*) 
      $B$K$J$C$F$$$F4V0c$C$F$*$j$^$7$?!#(B

$B!t5DO@$O4{$KJL$N=j$K$"$k$h$&$J5$$b$7$^$9$,!";v<B$r8+6K$a$k$H$$$&0UL#$G(B
$B!t:FEj9F$7$^$9!#(B

(0) C++ (SUN C++ $B$H(B GNU g++) $B$H(B ANSI-C (SUN acc $B$H(B GNU gcc)$B$G(B OK:
f1c, f2vc, f3vvc
(1) C++ (SUN C++ $B$H(B GNU g++) $B$G%(%i!<$^$?$O%&%)!<%K%s%0(B:
f2cv, f3vcv, f3cvv, f3cvc, f3ccv
(2) ANSI-C (SUN acc $B$H(B GNU cc) $B$G%(%i!<$^$?$O%&%)!<%K%s%0(B:
(1) $B$G5s$2$?4X?t$H(B f2cc, f3vcc, f3ccc

$B798~$r4Q;!$9$k$H0J2<$N$h$&$G$9!#(B
$B!&(BANSI-C $B$O0lHV8e$m$K(B const $B$r(B 1$B$D$@$1IU$1$?7?$K$O<+F0JQ49$G$-$k!#(B
f2vc $B$O(B OK $B$G!"(Bf2cc, f2cv $B$O(B NG
$B!&(BC++ $B$O8e$m$+$i(B const $B$rB3$1$F(B($B2?8D$G$b(B)$BIU2C$7$?7?$K$O<+F0JQ49$G$-$k!#(B 
f3vvc, f3vcc, f3cc $B$O(B OK$B!#(Bf3vcv $BEy(B c $B$N8e$K(B v $B$,Mh$k$H(B NG

f4vvvc $B!A(B f4ccc $B$G$bF1$87k2L$G$7$?!#(B

--------8<-------$BK\Ev$N%=!<%9(B-----8<-------------8<-----------
voidf1c(const int * a);

voidf2vc(int * const* b);
voidf2cv(const int * * b);
voidf2cc(int const* const* b);

voidf3vvc(int * * const* c);
voidf3vcv(int * const* * c);
voidf3vcc(int * const* const* c);
voidf3cvv(int const* * * c);
voidf3cvc(int const* * const* c);
voidf3ccv(int const* const* * c);
voidf3ccc(const int * const* const* c);

int *a;
int **b;
int ***c;

void foo(void)
{

    f1c(a);
    f2vc(b);
    f3vvc(c);
/* gcc and SUN acc error */
    f2cc(b);
    f3vcc(c);
    f3ccc(c);
/* g++ and SUN CC error */
    f2cv(b);
    f3vcv(c);
    f3cvv(c);
    f3cvc(c);
    f3ccv(c);
}


-- 
--------
$B%A%'%mCF$-$N(B tamy@flab.fujitsu.co.jp /$B$U8&(B/CAD$B8&(B/$BED5\(B  $BK-(B
Tel: 044-754-2663, Fax: 044-754-2664
            
