为什么我们在scanf中使用&,而不是在cin中?幕后究竟发生了什么?例如 :
scanf("%d", &num);
cin >> num;
Run Code Online (Sandbox Code Playgroud)
scanf来自C标准库1.在C中,没有参考这样的东西.因此,您需要传递指针以实现相同的结果.
std::cin来自C++标准库.在C++中,存在是这样的事情作为参考.因此你可以写std::cin >> num,一切都很好.
1如果你使用scanf的C++,你应该总是使用std::scanf从cstdio,这在技术上是从C++标准库,虽然从C标准库发起.