ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Mikhail Zabaluev <mhz@alt-linux.org>
To: sisyphus@altlinux.ru
Cc: Alexey Voinov <voins@voins.program.ru>
Subject: [sisyphus] Re: C/C++ compilers (was:  По поводу сборки пакетов)
Date: Wed, 19 Dec 2001 00:08:16 +0300
Message-ID: <20011218210816.GD2069@localhost.localdomain> (raw)
In-Reply-To: <20011218142359.GA1557@voins.local>

Hello Alexey,

On Tue, Dec 18, 2001 at 05:23:59PM +0300, Alexey Voinov wrote:
>
> Vlad Harchev wrote
> > > > Надо основываться на стандарте языка, а не на компиляторе. Хорошо 
> > > > написанный код соберется всюду.
> > > 
> > > тут есть небольшой нюанс, так как кое-какой вполне норамальный
> > > Ц++ код не совсем правильно интерпретируется gcc-2.95
> > > 
> > > даже если не лезть в темплейтные навороты, 
> > > хотя plain C уже как-то не совсем ко двору,
> > > первое, что приходит в голову
> > > 
> > > struct A { void f(){}; }; struct B: public A { int i; };
> > > 
> > > sizeof(B) ?
> > > 
> > > (большинство компилеров под ia32 считают, что должно получаться 4, а не 8 )
> > 
> >  В стандарте про гаранитии размеров нет ни слова (кроме того что размер
> > потомка будет не меньше размера предка).
> Наконец-то докопался до стандарта и нашёл там следующее:
> 
> п. 9.3:
> 
> A class with an empty sequence of members and base class objects is an
> empty class.  Complete objects and member subobjects of an empty class
> type  shall have nonzero size.1) 
> 
> и далее:
> 
> _________________________
> 1) That is, a base class subobject of an empty class
> type may have zero size.
> 
> (На самом деле это не стандарт, а draft от Decembeer 1997, последний,
> насколько мне известно. Номер пункта в самом стандарте скорее всего не
> совпадает, но то, что там эти слова есть --- точно.)

Из этого не следует, что sizeof(B) в вышеприведенном примере должен
принимать какое-то строго определенное значение.

P.S. Всегда используйте sizeof -- и ваши волосы не покинут вашу голову
преждевременно :)

-- 
Stay tuned,
  MhZ                                     JID: mookid@jabber.org
___________
"The Mets were great in 'sixty eight,
 The Cards were fine in 'sixty nine,
 But the Cubs will be heavenly in nineteen and seventy."
-- Ernie Banks



  reply	other threads:[~2001-12-18 21:08 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-12-12  8:43 [sisyphus] По поводу сборки пакетов Igor Tertishny
2001-12-12  9:04 ` Vitaly Lipatov
2001-12-12  9:12 ` AVL
2001-12-12  9:26   ` Vitaly Lipatov
2001-12-12 12:43     ` AVL
2001-12-12 10:15 ` Michael Shigorin
2001-12-12 10:56   ` Igor Tertishny
2001-12-12 12:24     ` Michael Shigorin
2001-12-12 11:28   ` Vitaly Lipatov
2001-12-12 11:58     ` Re[2]: [sisyphus] ðÏ ÐÏ×ÏÄÕ ÓÂÏÒËÉ ÐÁËÅÔÏ× Serge Skorokhodov
2001-12-12 13:13     ` [sisyphus] Re: По поводу сборки пакетов Mikhail Zabaluev
2001-12-12 11:10 ` [sisyphus] ðÏ ÐÏ×ÏÄÕ ÓÂÏÒËÉ ÐÁËÅÔÏ× Serge Skorokhodov
2001-12-12 12:46   ` [sisyphus] По поводу сборки пакетов AVL
2001-12-13  8:49     ` [sisyphus] gcc compilers (was Re: [sisyphus] По поводу сборки пакетов) Dmitry V. Levin
2001-12-13  9:10       ` [sisyphus] " Mikhail Zabaluev
2001-12-13  9:50       ` [sisyphus] " AVL
2001-12-13 11:08       ` [sisyphus] gcc compilers (was Re: [sisyphus] ðÏ ÐÏ×ÏÄÕ ÓÂÏÒËÉ ÐÁËÅÔÏ×) Serge Skorokhodov
2001-12-12 17:01   ` [sisyphus] Re: [sisyphus] По поводу сборки пакетов Aleksey Novodvorsky
2001-12-12 19:50     ` [sisyphus] C/C++ compilers (was: ðÏ ÐÏ×ÏÄÕ ÓÂÏÒËÉ ÐÁËÅÔÏ×) Serge Skorokhodov
2001-12-13  1:49       ` [sisyphus] C/C++ compilers (was: По поводу сборки пакетов) Aleksey Novodvorsky
2001-12-13  2:44         ` Maxim Penzin
2001-12-13  4:57           ` Alexey Voinov
2001-12-13  6:06             ` [sisyphus] C/C++ compilers Maxim Penzin
2001-12-13  8:21             ` Re[2]: " Serge Skorokhodov
2001-12-13  7:52           ` [sisyphus] C/C++ compilers (was: По поводу сборки пакетов) Vlad Harchev
2001-12-18 14:23             ` Alexey Voinov
2001-12-18 21:08               ` Mikhail Zabaluev [this message]
2001-12-13  6:52         ` Re[2]: [sisyphus] C/C++ compilers (was: ðÏ ÐÏ×ÏÄÕ ÓÂÏÒËÉ ÐÁËÅÔÏ×) Serge Skorokhodov
2001-12-13  9:50           ` [sisyphus] C/C++ compilers (was: По поводу сборки пакетов) Aleksey Novodvorsky
2001-12-13  9:57             ` AVL
2001-12-13 11:12             ` Re[2]: [sisyphus] C/C++ compilers (was: ðÏ ÐÏ×ÏÄÕ ÓÂÏÒËÉ ÐÁËÅÔÏ×) Serge Skorokhodov
2001-12-13 22:22 ` [sisyphus] По поводу сборки пакетов Vitaly Lipatov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20011218210816.GD2069@localhost.localdomain \
    --to=mhz@alt-linux.org \
    --cc=sisyphus@altlinux.ru \
    --cc=voins@voins.program.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git