这样的代码是否合适:
#include <FILEHERE>
using namespace std;
char input;
int main() {
cin >> input;
cout << input;
return 0;
}
我知道这段代码可以工作,但被认为是正确的,还有更好的办法吗?
我之所以使用与此类似的代码(但要复杂得多),是因为我有一个线程和主函数都在某个时候使用这个字符串,而且我能想到的唯一方法是为两者声明它线程和主函数是在线程和主函数之外声明它。执行此操作的更好方法是什么?
编辑:我不是在询问关于使用 namespace std;
的问题,因为我几乎在我编写的每个程序中都使用它。
最佳答案
您可以将指针传递给主线程的局部变量:
int main() {
int input;
set_thread_input(&input);
/* ... */
return 0;
}
void thread_func(void *arg){
int *input = (int*)arg;
/* ... */
}
关于C++代码优雅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9593735/