iT邦幫忙

2021 iThome 鐵人賽

DAY 10
0
自我挑戰組

C 語言筆記系列 第 10

[C 語言筆記--Day10] 如何用 C 語言實作一個泛型函數

大綱

  1. "##" 該如何使用
  2. 實作一個泛型函數
  3. 參考資料

1. "##" 該如何使用

"##" 是一種巨集上的用法,他的主要目的為連接兩個詞,
可以考慮以下的巨集定義:

#define MK_ID(n) i##n

使用巨集時:

int MK_ID(1), MK_ID(2), MK_ID(3);

會被巨集處理器擴展為:

int i1, i2, i3;

2. 實作一個泛型函數

#define GENERIC_MAX(type)       \
type type##max(type x, type y)  \
{                               \
    return x > y ? x : y;       \
}

使用巨集時:

GENERIC_MAX(float)

會被巨集處理器擴展為:

float float_max(float x, float y)
{
    return x > y ? x : y;
}

3. 參考資料

C Programming: A Modern Approach, 2/e


上一篇
[C 語言筆記--Day09] 解題紀錄:Moamen and k-subarrays
下一篇
[C 語言筆記--Day11] Makefile 的粗略筆記
系列文
C 語言筆記30

尚未有邦友留言

立即登入留言