Re[45]: offsetof() без UB
От: kov_serg Россия  
Дата: 31.03.25 10:35
Оценка:
Здравствуйте, 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.