撰寫 C 程式時,我們可以用 void 指標來模擬泛型;不過,這樣寫雖然有泛型的效果,但失去了型別安全;因此,請謹慎使用。 繼續閱讀
Golang 在 1.18 版確定會加入泛型。本文的目的是探討目前的替代方式,讓讀者從中選擇適合自己的方案。 繼續閱讀
用前置處理器來模擬泛型可以跳脫指標型別的限制,但卻是非主流,因為沒有型別安全且難以除錯。這已經算是一種經典反模式,讀者請自己決定要不要使用這個手法。 繼續閱讀
在 C11 之前,C 語言缺乏真正的泛型,雖然可以用一些語法特性來模擬泛型,但那些手法缺乏型別安全。在 C11 後,透過泛型型別巨集可取得具有型別安全的泛型。 繼續閱讀
其實泛型程式是一種模板 (template) 的概念。對於 C、Go (golang) 等不支援泛型的程式語言來說,也可以用外部模板來模擬泛型。本文以一個 C 語言的實例來說明如何以外部模板模擬泛型程式。 繼續閱讀