Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Understanding char** to const char**

39 views
Skip to first unread message

Tomás

unread,
May 8, 2006, 1:34:09 PM5/8/06
to

I'm sure a lot of you have seen the following code which demonstrates why
we can't implicitly convert from:-

char**

to:

const char**


Here's the code (written originally by James Kanze):

const char c = 'a';
char* p;
char** pp = &p;
const char** ppc = pp; // Supposing that this were not illegal.

*ppc = &c; // Oops: where does p point?
*p = 'b'; // And what is wrong here?


I've read the above code many times but never understood it. Even when I
thought about it thoroughly and slowly, I couldn't comprehend what was
going on.

Anyway, I came across the code again today, and finally I resolved to
grasp an understanding of it once and for all. So I drew a diagram, which,
after a few minutes of analysing, made me understand. With the hope of
helping others, here's the diagram:

http://img315.imageshack.us/img315/2876/undconst6kk.jpg

I've posted this to more than one newsgroup, so if you would like to
reply, I'd appreciate if you would keep the discussion in comp.lang.c++.

-Tomás

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std...@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]

0 new messages