位元詩人 [Tag] 泛型

[C 語言] 程式設計教學:使用 void 指標撰寫泛型程式

撰寫 C 程式時,我們可以用 void 指標來模擬泛型;不過,這樣寫雖然有泛型的效果,但失去了型別安全;因此,請謹慎使用。 繼續閱讀

[Golang] 程式設計教學:泛型 (Generics) 相關的議題

Golang 在 1.18 版確定會加入泛型。本文的目的是探討目前的替代方式,讓讀者從中選擇適合自己的方案。 繼續閱讀

[C 語言] 程式設計教學:使用前置處理器 (Preprocessor) 撰寫擬泛型程式

用前置處理器來模擬泛型可以跳脫指標型別的限制,但卻是非主流,因為沒有型別安全且難以除錯。這已經算是一種經典反模式,讀者請自己決定要不要使用這個手法。 繼續閱讀

[C 語言] 程式設計教學:使用泛型型別巨集 (_Generic) 撰寫泛型程式

在 C11 之前,C 語言缺乏真正的泛型,雖然可以用一些語法特性來模擬泛型,但那些手法缺乏型別安全。在 C11 後,透過泛型型別巨集可取得具有型別安全的泛型。 繼續閱讀

[C 語言] 程式設計教學:透過外部模板撰寫擬泛型程式

其實泛型程式是一種模板 (template) 的概念。對於 C、Go (golang) 等不支援泛型的程式語言來說,也可以用外部模板來模擬泛型。本文以一個 C 語言的實例來說明如何以外部模板模擬泛型程式。 繼續閱讀