C++代码优雅

标签 c++

这样的代码是否合适:

#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/

相关文章:

c++ - 数组默认与列表初始化

c++ - 寻求内存泄漏方面的帮助 - 拥有多线程队列、字符缓冲区和结构

c++ - 具有模板模板参数的类模板特化

c++在命名空间中共享变量时出现重复符号链接(symbolic link)器错误

c++ - 调试堆内存泄漏检测 - 奇怪的结果?

c++ - 打印 std::this_thread::get_id() 给出 "thread::id of a non-executing thread"?

c++ - 最快的预打包键值对搜索

c++ - 使用 F10 或 F11 步进代码时 VS2010 访问冲突

C++、g++、基于主机名的条件编译?

c++ - <</>> 运算符重载和输入/输出函数之间的区别