__thread, __typeof__與逗號表達式

1 __thread修飾符
約束變量的生存期只在一個線程中,線程停止時變量也被銷燬。它提供了一種簡單的方式來保證線程安全,多線程訪問時不需要關注競爭條件。

2 __typeof__操作符:指示表達式的類型,任何可以使用typedef定義名稱的地方都能使用它。
__typeof__(*x) y;     // Declares y with the type of what x points to.
 
__typeof__(*x) y[4];  // Declares y as an array of such values.
 

__typeof__(__typeof__(char *)[4]) y;  // Declares y as an array of pointers to characters


最後一個例子等價於:
char *y[4];
爲說明__type__of的優點,看下面定義:
#define pointer(T)  __typeof__(T *)
#define array(T, N) __typeof__(T [N])
上面最後一個例子可這麼定義:
array (pointer (char), 4) y;

3 逗號表達式:GCC支持簡化形式,如
    a = b? : 1;
等價於
    a = b? b: 1;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章