Re: cvs commit: src/lib/libc/sys tls.2

看板DFBSD_commit作者時間21年前 (2005/03/22 05:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串10/20 (看更多)
On Mon, Mar 21, 2005 at 12:31:29PM -0800, Chris Pressey wrote: > On Mon, 21 Mar 2005 21:14:14 +0100 > Joerg Sonnenberger <joerg@britannica.bec.de> wrote: > > > On Mon, Mar 21, 2005 at 11:52:49AM -0800, Chris Pressey wrote: > > > I wouldn't say it should return an int, though: IMO sizeof(x) ought > > > to be treated just like any other numeric constant in C - that is, > > > interpreted as signed or unsigned as the situation dictates. Why > > > they introduced this gratuitous unorthogonality, I have no idea. > > > Well, maybe that's not strictly true... I _can_ guess. Probably > > > "sizeof always yields a positive number so we should force its type > > > to be unsigned." But that makes exactly as much sense as "4 always > > > yields a positive number so we should force its type to be > > > unsigned," which is stupid. > > > > Because sizeof(char[2 << 31]) and sizeof(char[2 << 30]) should have > > the same type. > > > > Joerg > > That's what coercion is for. 4294967296 and 2147483648 have the same > type when used in the same expression, so why can't sizeof()s which > evaluate to those constants do the same? Typo, s/2/1/. Or think about sizeof(char[INT_MAX]) vs. sizeof(char[UINT_MAX]). Joerg
文章代碼(AID): #12FpOo00 (DFBSD_commit)
討論串 (同標題文章)
文章代碼(AID): #12FpOo00 (DFBSD_commit)