Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #4777
| Path | csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail |
|---|---|
| NNTP-Posting-Date | Fri, 06 May 2011 09:17:51 -0500 |
| From | Pete Becker <pete@versatilecoding.com> |
| Organization | Roundhouse Consulting, Ltd. |
| Newsgroups | comp.lang.c++ |
| Date | Fri, 6 May 2011 10:17:51 -0400 |
| Message-ID | <201105061017516095-pete@versatilecodingcom> (permalink) |
| References | <92g50mFks4U1@mid.individual.net> <763ee119-dff9-40a9-9c70-69708aa13a65@18g2000prd.googlegroups.com> |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=iso-8859-1; format=flowed |
| Content-Transfer-Encoding | 8bit |
| Subject | Re: this cast to const char* |
| User-Agent | Unison/2.1.4 |
| Lines | 35 |
| X-Usenet-Provider | http://www.giganews.com |
| X-Trace | sv3-vYl37AZumYRy0R41LZI+Xd5EVn6QHZb+AMwCYoGYa8YMwXr0w6F9vS8enfQNxE2wrePBbpynSkUOXNr!O0Flft8RUFiffXmwH1xeMSDWW0VuPARsr48zLX5d9C6FjhwPRtns2S3BeZM2v7Bp88ymxtU= |
| X-Complaints-To | abuse@giganews.com |
| X-DMCA-Notifications | http://www.giganews.com/info/dmca.html |
| X-Abuse-and-DMCA-Info | Please be sure to forward a copy of ALL headers |
| X-Abuse-and-DMCA-Info | Otherwise we will be unable to process your complaint properly |
| X-Postfilter | 1.3.40 |
| X-Original-Bytes | 2391 |
| Xref | x330-a1.tempe.blueboxinc.net comp.lang.c++:4777 |
Show key headers only | View raw
On 2011-05-06 09:59:31 -0400, Goran said:
> On May 5, 7:27 pm, "Gernot Frisch" <m...@privacy.net> wrote:
>> Hi,
>>
>> with "MFC" I can do:
>> CString str(_T("test"); printf("%s", str); // prints "test"
>>
>> With my own string class, however, there seems to be a 4 byte "header"
>> before the string data.
>>
>> I have the member >const TCHAR* m_data;< as the first member of my string
>> class.
>>
>> How does MS doe this?
>
> Luck (well, cheating). First of all, as said, passing non-pod is UB.
> What actually happens is that your string is passed to printf as a
> POD. But CString class is made in such a way that "this" is also a
> pointer to the first character (there's more to CString than a
> pointer, and you don't want to know that ;-).
>
> So... Your code has an error,
No, it doesn't. "Undefined behavior" means only that the C++ standard
doesn't tell you what the code does. There's nothing preventing a
compiler from defining the behavior, and there's nothing inherently
wrong with relying on implementation-specific behavior.
--
Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The
Standard C++ Library Extensions: a Tutorial and Reference
(www.petebecker.com/tr1book)
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
this cast to const char* "Gernot Frisch" <me@privacy.net> - 2011-05-05 19:27 +0200
Re: this cast to const char* Kai-Uwe Bux <jkherciueh@gmx.net> - 2011-05-05 19:39 +0200
Re: this cast to const char* "Balog Pal" <pasa@lib.hu> - 2011-05-06 01:11 +0200
Re: this cast to const char* Marcel Müller <news.5.maazl@spamgourmet.org> - 2011-05-06 01:54 +0200
Re: this cast to const char* m0shbear <andrey.vul@gmail.com> - 2011-05-05 17:59 -0700
Re: this cast to const char* James Kanze <james.kanze@gmail.com> - 2011-05-08 07:08 -0700
Re: this cast to const char* m0shbear <andrey.vul@gmail.com> - 2011-05-08 17:03 -0700
Re: this cast to const char* "Balog Pal" <pasa@lib.hu> - 2011-05-06 20:15 +0200
Re: this cast to const char* James Kanze <james.kanze@gmail.com> - 2011-05-08 07:05 -0700
Re: this cast to const char* James Kanze <james.kanze@gmail.com> - 2011-05-08 07:02 -0700
Re: this cast to const char* Felix Bytow <felix.bytow@informatik.tu-chemnitz.de> - 2011-05-05 19:40 +0200
Re: this cast to const char* Öö Tiib <ootiib@hot.ee> - 2011-05-05 10:52 -0700
Re: this cast to const char* Öö Tiib <ootiib@hot.ee> - 2011-05-05 10:44 -0700
Re: this cast to const char* gwowen <gwowen@gmail.com> - 2011-05-05 10:50 -0700
Re: this cast to const char* Öö Tiib <ootiib@hot.ee> - 2011-05-05 10:58 -0700
Re: this cast to const char* "Bo Persson" <bop@gmb.dk> - 2011-05-05 20:21 +0200
Re: this cast to const char* gwowen <gwowen@gmail.com> - 2011-05-05 11:27 -0700
Re: this cast to const char* Öö Tiib <ootiib@hot.ee> - 2011-05-05 11:37 -0700
Re: this cast to const char* gwowen <gwowen@gmail.com> - 2011-05-05 22:28 -0700
Re: this cast to const char* Öö Tiib <ootiib@hot.ee> - 2011-05-06 03:55 -0700
Re: this cast to const char* "Alf P. Steinbach /Usenet" <alf.p.steinbach+usenet@gmail.com> - 2011-05-06 13:25 +0200
Re: this cast to const char* Öö Tiib <ootiib@hot.ee> - 2011-05-06 06:22 -0700
Re: this cast to const char* Joshua Maurice <joshuamaurice@gmail.com> - 2011-05-05 22:47 -0700
Re: this cast to const char* Goran <goran.pusic@gmail.com> - 2011-05-06 06:59 -0700
Re: this cast to const char* Pete Becker <pete@versatilecoding.com> - 2011-05-06 10:17 -0400
Re: this cast to const char* James Kanze <james.kanze@gmail.com> - 2011-05-08 07:13 -0700
Re: this cast to const char* "Gernot Frisch" <me@privacy.net> - 2011-05-09 10:38 +0200
Re: this cast to const char* Leigh Johnston <leigh@i42.co.uk> - 2011-05-09 13:03 +0100
Re: this cast to const char* Leigh Johnston <leigh@i42.co.uk> - 2011-05-09 17:51 +0100
Re: this cast to const char* Öö Tiib <ootiib@hot.ee> - 2011-05-09 09:40 -0700
csiph-web