Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我可以使用operator<&书信电报;要将元素添加到列表中?_C++_List_Operator Overloading - Fatal编程技术网

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;
}