C++ 我可以使用operator<&书信电报;要将元素添加到列表中?
我想重载操作符您表面上会这样编写此功能():C++ 我可以使用operator<&书信电报;要将元素添加到列表中?,c++,list,operator-overloading,C++,List,Operator Overloading,我想重载操作符您表面上会这样编写此功能(): 模板 std::列表和操作员如果您的问题的答案是“是的,这是可能的”,您会满意吗?即使可能,也绝对不要这样做。它打破了C++程序员的期望,简单的回答是,你可以做到。但这类问题最好先测试一下自己“通常最好不要试图修改/添加STL容器的默认行为”,我会更进一步。通常,最好不要试图修改/添加您不拥有的代码行为。这是铁锈造成的。您必须拥有为其实现功能的类型,或者拥有功能规范,否则它将无法编译。在这种情况下,我们不拥有std::list,也不拥有操作符 std
模板
std::列表和操作员如果您的问题的答案是“是的,这是可能的”,您会满意吗?即使可能,也绝对不要这样做。它打破了C++程序员的期望,简单的回答是,你可以做到。但这类问题最好先测试一下自己“通常最好不要试图修改/添加STL容器的默认行为”,我会更进一步。通常,最好不要试图修改/添加您不拥有的代码行为。这是铁锈造成的。您必须拥有为其实现功能的类型,或者拥有功能规范,否则它将无法编译。在这种情况下,我们不拥有std::list
,也不拥有操作符
std::list<int> foo (3,100); // three ints with a value of 100
foo << 2 << 3 << 4;
template<typename T>
std::list<T> & operator<<(std::list<T> & list, T val) {
list.emplace_back(std::move(val));
return list;
}