提到這個,有必要帶一下typelist的基石:
template
<
class
t,class
u>
struct
typelist
typedef typelist
<
int,typelist
<
double
,float
>
>
numlist;
這個遞迴工作交給了編譯器,你可以構造無限長的list(你要付出編譯時間的,但是卻沒允許時間),但是如果構建長度為10的list,你得typedef將變得讓你我難以容忍,你可以依次套用,但是關鍵是這個東西太常用了,有必要「給大多數人帶來方便」,這要這麼做呢。
1.尋找一種通用的**方法,把這個東西一次性解決掉,可以無限推演。
2.使用巨集,定義常用的一些情況。
loki使用了後者,在我的認知範圍內,我認為第1點太難做到了,因為這些東西本身就在編譯階段處理。這給我很大的啟示,我一直努力追求**的優雅和安全,所以我有時候排斥巨集,直到第一次看到loki的這塊處理,我覺得,它不失優雅,而且你沒有比這個更好的辦法,我也感覺到使用巨集的巨大空間,你一樣可以對巨集進行安全檢查的,譬如使用template技術,do like it。
簡單的設計不簡單
最近看了 簡約至上 這本書,這本文章總結一下。推薦給對互動設計感興趣的童鞋。話說簡單 首先人們喜歡簡單 值得信賴 適應性強的產品。所以我們才會費盡心力去設計簡單的產品。人們喜歡簡單的產品原因有 1 產品的功能越多,就越難發現真正對使用者有價值的新功能。2 因為增加的複雜性導致他們很難找到自己真正需要...
簡單的設計不簡單
最近看了 簡約至上 這本書,這本文章總結一下。推薦給對互動設計感興趣的童鞋。話說簡單 首先人們喜歡簡單 值得信賴 適應性強的產品。所以我們才會費盡心力去設計簡單的產品。人們喜歡簡單的產品原因有 1 產品的功能越多,就越難發現真正對使用者有價值的新功能。2 因為增加的複雜性導致他們很難找到自己真正需要...
簡單的設計不簡單
最近看了 簡約至上 這本書,這本文章總結一下。推薦給對互動設計感興趣的童鞋。話說簡單 首先人們喜歡簡單 值得信賴 適應性強的產品。所以我們才會費盡心力去設計簡單的產品。人們喜歡簡單的產品原因有 1 產品的功能越多,就越難發現真正對使用者有價值的新功能。2 因為增加的複雜性導致他們很難找到自己真正需要...