[問題] 用參數指定要讀取哪個data member
我有三串程式碼
長的都是向下面這樣
p0 = e->end_vertex->data->N;
p1 = e->pair->end_vertex->data->N;
p2 = e->next->end_vertex->data->N;
p3 = e->pair->next->end_vertex->data->N;
p4 = (3 * (p0 + p1) + p2 + p3) / 8;
計算公式都一樣
但是是針對不同的data member (N可以代換成X, Y...etc )作運算
請問有沒有辦法用函式的參數指定要對哪個data member做運算?
---
目前我想到用巨集的方法
可以這樣寫
#define P0(x) e->end_vertex->data->x
#define P1(x) e->pair->end_vertex->data->x
#define P2(x) e->next->end_vertex->data->x
#define P3(x) e->pair->next->end_vertex->data->x
#define F0(x) ((3 * (P0(x) + P1(x)) + P2(x) + P3(x)) / 8)
p4 = F0(N);
#undef ...
只是想知道有沒有比較好的寫法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.94.138
※ 編輯: seedman 來自: 114.32.94.138 (08/10 15:33)
→
08/10 15:43, , 1F
08/10 15:43, 1F
→
08/10 15:44, , 2F
08/10 15:44, 2F
※ 編輯: seedman 來自: 114.32.94.138 (08/10 16:08)
推
08/10 16:24, , 3F
08/10 16:24, 3F
→
08/10 16:33, , 4F
08/10 16:33, 4F
→
08/10 20:11, , 5F
08/10 20:11, 5F
→
08/10 20:12, , 6F
08/10 20:12, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章