我想通过重载<<来为所有具有ranged-base for for循环支持的类实现pretty-print.(错误)代码是这样的.
template<class C> ostream& operator<<(ostream& out, const C& v) {
for(auto x : v) out<<x<<' ';
return out;
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是,这将与现有的<<重载冲突.有没有办法在模板中指定C必须支持ranged-base for循环?
我想做这样的事情:
f[frozenset((1,3,4))] = 5
f[frozenset((1,))] = 3
Run Code Online (Sandbox Code Playgroud)
但是一直输入这些内容真的很痛苦,无论如何都有别名吗?我知道在C++中有一个辅助函数可以返回一个引用,所以你只需键入:
F(1,3,4) = 5
F(1) = 3
Run Code Online (Sandbox Code Playgroud)
用F作为辅助函数.非常感谢!
是否可以获得特定单元格周围的范围,类似于电子表格中的Ctrl + A?