Article View: fr.comp.lang.c
Article #15535Re: alignements struct/tableaux
From: harpo
Date: Sun, 18 Sep 2005 12:18
Date: Sun, 18 Sep 2005 12:18
49 lines
2841 bytes
2841 bytes
On Sun, 18 Sep 2005 11:40:18 +0200, Pierre Habouzit wrote:
>>
>> Pourquoi cela au-dessous ne suffirait-il pas ? :
>>
>> struct message {
>> [ ... pleins de choses dont pas mal de 'headers' ...];
>> blob_t *__bufs[2];
>> [ ... encore pleins de choses ...];
>> };
>
> parce que lorsque je code et que j'utilise ma structure de message, je ne
> veux pas passer par __bufs et �crire des msg->__bufs[0] ou msg->__bufs[1]
> et me souvenir lorsque je code que __bufs[0] est mon buffer originel, et
> bufs[1] celui o� je fait mes modifs.
#define ORIGINAL 0
#define MODIFIED 1
( ou l'�quivalent avec enum )
Quand on veut explicitement acc�der � un des buffers.
soit :
msg->__bufs[ ORIGINAL ]
msg->__bufs[ MODIFIED ]
Quand on veut y acc�der sans savoir s'il a �t� ou non modifi�, se
servir du bit modified,
Je ne vois rien d'obfuscant l� dedans.
Je ne pense pas que rajouter des donn�es inutiles dans des structures
puisse simplifier la lecture d'un programme, personnellement c'est
plut�t un truc qui me laisserait perplexe et soup�onner une siouxerie
pas nette en le lisant.
> Dans mon module C je veux utiliser msg->original et msg->scratch qui eux
> sont clairs, et en plus comme original a un const en plus, il m'�vite
> la b�tise d'aller le modifier si je ne suis plus tr�s r�veill�.
Le const en plus peut, par contre �tre un bon argument, mais je ne pense
pas qu'il soit d�terminant.
Dans ce cas mets juste 2 pointers et des macros ou fonctions inline
get_buf_original( msg )
get_buf_modified( msg )
et une autre macro qui se sert du bit modified.
Je ne vois vraiment pas la raison pour s'emb�ter avec des struct et des
unions, c'est obfuscatoire.
Technical Details
Message-ID:
<432d5b33$0$27422$8fcfb975@news.wanadoo.fr>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!193.252.118.146.MISMATCH!news.wanadoo.fr!news.wanadoo.fr!not-for-mailReferences:
<432c52d5$0$9425$626a14ce@news.free.fr> <mn.8cb87d59c7031bee.15512@YOURBRAnoos.fr> <432c688a$0$14382$626a14ce@news.free.fr> <432c6c63$0$17061$8fcfb975@news.wanadoo.fr> <432c77ed$0$12670$626a14ce@news.free.fr> <432d0eca$0$5402$8fcfb975@news.wanadoo.fr> <432d35cb$0$9448$626a14ce@news.free.fr>Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,2ab126dba8e5e645 X-Google-Attributes: gidf9822,public X-Google-Language: FRENCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!193.252.118.146.MISMATCH!news.wanadoo.fr!news.wanadoo.fr!not-for-mail From: harpo <trashcan@hotmail.com> Subject: Re: alignements struct/tableaux Date: Sun, 18 Sep 2005 14:18:35 +0200 Newsgroups: fr.comp.lang.c References: <432c52d5$0$9425$626a14ce@news.free.fr> <mn.8cb87d59c7031bee.15512@YOURBRAnoos.fr> <432c688a$0$14382$626a14ce@news.free.fr> <432c6c63$0$17061$8fcfb975@news.wanadoo.fr> <432c77ed$0$12670$626a14ce@news.free.fr> <432d0eca$0$5402$8fcfb975@news.wanadoo.fr> <432d35cb$0$9448$626a14ce@news.free.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Lines: 50 Message-ID: <432d5b33$0$27422$8fcfb975@news.wanadoo.fr> Organization: les newsgroups par Wanadoo NNTP-Posting-Date: 18 Sep 2005 14:18:59 CEST NNTP-Posting-Host: 83.195.120.205 X-Trace: 1127045939 news.wanadoo.fr 27422 83.195.120.205:44528 X-Complaints-To: abuse@wanadoo.fr