问题描述
这两个代码:
#include <algorithm>
#include <iostream>
#include <iterator>
#include <utility>
#include <vector>
int main() {
std::vector<int> v;
std::exchange(v,{1,2,3,4,5});
copy(cbegin(v),cend(v) - 1,std::ostream_iterator<int>(std::cout,","));
std::cout << *rbegin(v) << "\n\n";
return 0;
}
和这段代码:
#include <algorithm>
#include <iostream>
#include <iterator>
#include <utility>
#include <vector>
int main() {
std::vector<int> v;
std::exchange(v,5});
std::copy(std::cbegin(v),std::cend(v) - 1,"));
std::cout << *std::rbegin(v) << "\n\n";
return 0;
}
可以成功编译(在 C++14 和 C++17 中)并执行相同的工作。但是我想知道为什么我可以省略std::
以及在什么情况下?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)