Re: GCC 4 で cast したものに代入
In article <m34qb8f0t9.fsf@nospam.maedapc.cc.tsukuba.ac.jp>,
MAEDA Atusi <maeda-news@ialab.cs.tsukuba.ac.jp> writes:
> manmos@stellar.co.jp (Hideo "Sir MaNMOS" Morishita) writes:
>
> > > > C++において「cast-as-lvalues」の拡張がgcc 4.0で削除された件。これは前述の
> > > > Language Lawyerによる指摘によって「コンパイルオプションを残すこと自体が
> > > > C++の文法と相容れない」として削除された
> > >
> > > というわけで、出来るようにするオプションは無いんじゃないでしょうか。
> >
> > 純粋にCの問題なんですけどねぇ。
> > ネットワーク系のプログラムを書いていると、少なくないんですよね、こうい
> > うコード。
>
> rvalueとしてキャストするんじゃダメなんですか?
>
> void *p;
> int a;
> int *ip;
> ip = (int *)p;
> a=*ip++;
> p = &a;
理論的にはそれでもいいんですけど(そういう部分も多いです。)、if文の条件
式として使った時とかにとっても見通しが悪いんです。
--
___ わしは、山吹色のかすてーらが大好きでのぅ
[[o o]] ふぉっふぉっふぉ
'J' 森下 お代官様 MaNMOS 英夫@ステラクラフト
PGP Finger = CD EA D5 A8 AD B2 FE 7D 02 74 87 52 7C B7 39 37
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735