拥有这样的代码是否合适:
#include <FILEHERE>
using namespace std;
char input;
int main() {
cin >> input;
cout << input;
return 0;
}
我知道这段代码会起作用,但是被认为是正确的,是否有更好的操作?
我使用与此类似的代码(但是更复杂)的原因是因为我有一个线程和main函数都在某个时候使用这个字符串,并且我能想到为这两个字符串声明它的唯一方法线程和main函数是在线程和main函数之外声明它。有什么更好的方法呢?
编辑:我不是在问我使用namespace std;
,因为我几乎在我写的每个程序中使用它。
答案 0 :(得分:1)
您可以将指针传递给主线程的本地变量:
int main() {
int input;
set_thread_input(&input);
/* ... */
return 0;
}
void thread_func(void *arg){
int *input = (int*)arg;
/* ... */
}
答案 1 :(得分:1)
如果您在全球范围内询问变量,是的,这当然很常见。我认为你会发现更多的人会在原则上反对using namespace std
声明,而不是在全球范围内声明的对象。