C++ STL 映射和设置容器的 insert() 函数违反了默认参数的规则?
C++ STL map and set containers' insert() function violating the rules for default parameters?
insert()接受参数:(set::迭代器,int)迭代器参数是可选的,因此我认为它在实现中必须有一个默认值。
现在,具有默认值的参数不应该在末尾吗?insert函数不应该像:insert(int,set::迭代器)或insert(int)那样调用吗?
或者实现使用了函数重载?如果是这样,为什么不使用默认参数呢?
它不是默认参数,只是存在多个函数重载。
std::pair<iterator,bool> insert( const value_type& value );
template< class P >
std::pair<iterator,bool> insert( P&& value );
std::pair<iterator,bool> insert( value_type&& value );
iterator insert( iterator hint, const value_type& value );
iterator insert( const_iterator hint, const value_type& value );
template< class P >
iterator insert( const_iterator hint, P&& value );
iterator insert( const_iterator hint, value_type&& value );
template< class InputIt >
void insert( InputIt first, InputIt last );
void insert( std::initializer_list<value_type> ilist );
insert_return_type insert(node_type&& nh);
iterator insert(const_iterator hint, node_type&& nh);
相关文章:
- 为什么不调用移动构造函数?(默认情况下只有构造器,没有别的)
- 无法将类对象转换为函数默认参数中的参考
- 如何使类的函数默认
- C++ 定义函数默认参数的正确方法
- 函数默认参数被忽略
- 构造函数默认公共和私有变量
- C++11 不生成特殊函数/默认构造函数
- 类模板构造函数默认参数
- 模板函数默认参数
- 重新声明时替换函数默认参数
- 模板函数默认参数和类型推断
- 构造函数默认参数
- C++模板构造函数默认参数
- 为什么内联函数默认情况下具有外部链接
- 在c++中设置构造函数默认值
- 虚函数默认参数和重载
- 指针对成员函数默认值出现与CRTP相关的编译器错误
- c++构造函数默认参数
- 名称空间中的两个对象将由不同的函数默认初始化,并由名称空间中的类使用
- C++中的函数默认参数