AW: AW: Feature request for "friendship" of pointers in "C"
aotto
aotto1968@t-online.de
Mon Feb 3 09:38:00 GMT 2020
Hi, as i mentioned earlier⦠the "not having" create a couple of problems:
1. the "void-pointer-inflation"
  you can rewrite "method_base(struct base* hdl, ...)" win
  "method_base(void* hdl, ...)" this seems to solve the problem
  BUT you definitely loos the type-check because other pointer as "A"
and "B"
  also allowed.
2. the "cast inflation"
  you can add the "CPP" wrapper to "method_base" this will act like
"void*"
  but you loose the "type-check also"
3. even if you use "&aObj->obj" this create EXTRA CODE which add only
CRASH-scenarios
  and add EXTRA overheadâ¦
3. there is only ONE clear solution which NOT loose the "type-checking"
and DON'T add
  extra code and this solution is the "frienddef"
mfg AO
On 03.02.20 10:20, J Decker wrote:
>
>
> On Mon, Feb 3, 2020 at 1:10 AM aotto <aotto1968@t-online.de
> <mailto:aotto1968@t-online.de>> wrote:
>
> On 03.02.20 10:07, J Decker wrote:
> > On Mon, Feb 3, 2020 at 12:23 AM aotto <aotto1968@t-online.de
> <mailto:aotto1968@t-online.de>> wrote:
> >
> >> Hi,
> >>
> >> there is an easy test, if Stefan is right and I'm wrong.
> >>
> >> 1. cast an INVALID Pointer to "aObj"
> >>
> > how would friend prevent an invalid pointer pass?
> â I have a pointer-type-and-valid test in my software, this mean
> Â Â I know if a pointer is "valid" or not... but this works only if
> Â Â I get the pointer into my "base_method".
>
>
> C doesn't have any such thing, no do any other developer, so how would
> it help them? (you fell off the list)
More information about the Gcc-help
mailing list