2010-09-22 118 views

回答

7

POSIX保留名稱結尾爲_t的類型。儘管看到的代碼發現自己的類型名稱結尾爲_t是很常見的,但這樣做很危險 - 您可以運行到定義具有相同名稱的(不同)類型的POSIX系統。


在libmemcached源,它看起來像使用_st後綴來表示一個結構類型:

types.h:typedef struct memcached_st memcached_st; 
types.h:typedef struct memcached_stat_st memcached_stat_st; 
types.h:typedef struct memcached_analysis_st memcached_analysis_st; 
types.h:typedef struct memcached_result_st memcached_result_st; 
types.h:// All of the flavors of memcache_server_st 
types.h:typedef struct memcached_server_st memcached_server_st; 
types.h:typedef const struct memcached_server_st *memcached_server_instance_st; 
types.h:typedef struct memcached_server_st *memcached_server_list_st; 

我沒有找到結束_st功能的單個實例(但我可能沒有看起來夠硬)。

+0

不錯。在libmemcached源文件中,許多函數返回類型以「_t」或「_st」結尾。例如 – why 2010-09-22 07:17:34

+0

static memcached_server_st * _server_create(memcached_server_st * self,const memcached_st * memc)。許多其他庫也是如此。 – why 2010-09-22 07:18:11

+0

謝謝Jonathan Leffler,我想我很清楚 – why 2010-09-22 07:18:46