Здравствуйте, rg45, Вы писали:
R>Ну это как повезет. Как код написан, как оптимизатор отработает. В любом случае, ранняя пессимизация налицо. Но не это самое плохое. Это как довесок к тому, что я писал ранее.
Ну хз. Мне такие указатели гораздо удобнее чем то что в C++ нагородили
https://godbolt.org/z/Y7xMsE6qo
struct A {
int x=10;
virtual int fn(int y) { return x+y; }
};
int main(int argc, char **argv) {
A a[1];
int (*pfn)(A*,int) = mfn <A,&A::fn>;
int* (*px)(A*) = mptr<A,&A::x>;
printf("px=%p pfn=%p\n",px,pfn);
printf("x=%d fn(20)=%d\n",*px(a),pfn(a,20));
return 0;
}
px=0x40076a pfn=0x40072b
x=10 fn(20)=30