Соглашения об именах в функциях UNIX C (_t и _st) - PullRequest
3 голосов
/ 22 сентября 2010

Я заметил, что есть некоторые типы возвращаемых функций с именами *****_t или ******_st.Что означают "_st" и "_t"?

1 Ответ

7 голосов
/ 22 сентября 2010

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 (но, возможно, я не выглядел достаточно усердно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...