Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++.moderated > #1420
| Message-ID | <ispb7b$k8f$1@usenet.stanford.edu> (permalink) |
|---|---|
| Newsgroups | comp.lang.c++.moderated |
| From | Seungbeom Kim <musiphil@bawi.org> |
| Subject | Re: codecvt problem |
| Organization | unknown |
| References | (1 earlier) <4DEBC922.2060901@sh.cvut.cz> <isig0g$rj7$1@dont-email.me> <4DED2A8A.1090106@sh.cvut.cz> <df50fa73-a52b-43ca-bf7b-25c1dc4c10c4@c26g2000vbq.googlegroups.com> <4DEF96B7.9070009@sh.cvut.cz> |
| Date | 2011-06-09 07:02 -0600 |
On 2011-06-08 16:24, Vaclav Haisman wrote:
> Martin Bonner wrote, On 8.6.2011 10:06:
>>
>> But memset produces undefined behaviour if mbstate_t is (for example)
>> void *. I /think/ the only way to fix this is something like:
> Why does it produce undefined behaviour? You can always take address of a
> void pointer and zero the pointer.
That has never been guaranteed by either the C or the C++ standard:
the object representation that has all zero bits does not necessarily
yield the value representation of a null pointer.
Nevertheless, the habit of "using memset for everything" seems to be
quite widespread, which I consider an abomination.
>> namespace { mbstate_t zerostate; }
>> int main () { mbstate_t mystate = zerostate;...}
>>
>> But that's an awful faf.
> That would be usable. Ideal would be if we had some
> std::mbstate_init(mbstate_t &) function or similar.
Or an initializer macro could be better, as in:
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
What we need ideally is not an initialization function or initializer
macro for each type whose variable needs to be initialized, but a uniform
syntax to initialize a variable of any type. That's what the C++0x uniform
initializer syntax brought to us. Unfortunately, that came too late,
and we have different sets of available methods in C, C++03, and C++0x,
and initializing an object of an opaque type has become a pain.
--
Seungbeom Kim
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Back to comp.lang.c++.moderated | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
codecvt problem Rafał Moniuszko <rafal.lists@gmail.com> - 2011-06-05 07:25 -0600
Re: codecvt problem Vaclav Haisman <v.haisman@sh.cvut.cz> - 2011-06-05 21:41 -0600
Re: codecvt problem Jeff Flinn <TriumphSprint2000@hotmail.com> - 2011-06-06 12:50 -0600
Re: codecvt problem Vaclav Haisman <v.haisman@sh.cvut.cz> - 2011-06-06 15:31 -0600
Re: codecvt problem Martin Bonner <martinfrompi@yahoo.co.uk> - 2011-06-08 02:06 -0600
Re: codecvt problem Vaclav Haisman <v.haisman@sh.cvut.cz> - 2011-06-08 17:24 -0600
Re: codecvt problem Seungbeom Kim <musiphil@bawi.org> - 2011-06-09 07:02 -0600
Re: codecvt problem Vaclav Haisman <v.haisman@sh.cvut.cz> - 2011-06-16 17:04 -0600
Re: codecvt problem Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com> - 2011-06-17 06:42 -0600
Re: codecvt problem Seungbeom Kim <musiphil@bawi.org> - 2011-06-18 07:38 -0600
Re: codecvt problem Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com> - 2011-06-20 13:16 -0600
Re: codecvt problem Seungbeom Kim <musiphil@bawi.org> - 2011-06-23 14:42 -0600
Re: codecvt problem Seungbeom Kim <musiphil@bawi.org> - 2011-06-09 07:01 -0600
Re: codecvt problem Daniel Krügler <daniel.kruegler@googlemail.com> - 2011-06-06 15:31 -0600
Re: codecvt problem Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com> - 2011-06-07 03:07 -0600
Re: codecvt problem Daniel Krügler <daniel.kruegler@googlemail.com> - 2011-06-07 10:31 -0600
Re: codecvt problem Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com> - 2011-06-06 12:47 -0600
csiph-web