“ctx”是什么意思?

37

我已经在不同的库中见过这个缩写两次了,但我无法理解它应该代表什么。

例如,在这里:

static int reformat_string(void * ctx, const unsigned char * stringVal,  
                       size_t stringLen)  
{  
    yajl_gen g = (yajl_gen) ctx;  
    return yajl_gen_status_ok == yajl_gen_string(g, stringVal, stringLen);  
}  
据我所知,它通常用于结构体。

在重构一些Java代码时,我将变量名ctx更改为context,这引起了审阅者的一些疑问。 “ctx不够清晰吗?”在Java中,我更喜欢完全拼写出变量名,除非有非常好的理由来缩写。希望这能给你一些启示。 - havryliuk
2个回答

60
通常代表“上下文”。通常,这是一些结构,在库函数中传递给函数使用,用于维护状态(即函数调用的context)。
这是使用全局变量的可取替代方案。

0

通过acronymsandslang.com,它的意思是“上下文”。 但你可以在那里寻找其他CTX的含义


2
我不确定我会认为那个网站是这个领域的有用参考。 - irowe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接