我看到人们在使用多线程时经常使用变量名RC
或rc
,例如在this Linux pthread_setname_np
manual中,有:
rc = pthread_create(&thread, NULL, threadfunc, NULL);
在这种情况下,RC代表什么?
我怀疑它的意思是“返回码”,但是我没有找到权威的来源来验证这一点。
答案 0 :(得分:2)
是的,很好的猜测,RC或rc是具有返回值的常用变量名 从API进行编程。
但这只是API返回类型的局部变量,其他常用的是ret_code,但是可以选择命名API返回值。我认为不存在任何文件可以解释为什么这种RC命名是存在的:-)
答案 1 :(得分:1)
您将没有权威资料来解释这一点。人们可以根据自己的喜好命名automatic variables(前提是与scope中的其他内容或关键字没有冲突)。
但是您的猜测(“返回代码”的rc
)可能是一个不错的选择。
但是,与您的示例一样,等效代码int i = pthread_create(&thread, nullptr, threadfunc, nullptr);
可能被视为可读。我个人倾向于在我的C代码中命名此类局部变量int err = pthread_create(&thread, NULL, threadfunc, NULL);
。
PS。 NULL
和pthread_create
的使用建议使用POSIX threads的C程序(请参阅pthreads(7)),而不是C ++。在真正的现代C ++ 11中,您最好改用nullptr
和std::thread
(即使大多数实现确实会在pthreads(7)以上实现它)