C++ 成员函数的'const'和非'const'版本是否符合重载条件?
声明具有相同名称的C++ 成员函数的'const'和非'const'版本是否符合重载条件?,c++,C++,声明具有相同名称的const和非const成员函数是否属于重载 iterator find ( const key_type& x ); const_iterator find ( const key_type& x ) const; 是的,这是过载。该术语在[over]/1中定义为: 当为同一作用域中的单个名称指定两个或多个不同的声明时,该名称被称为重载 这里显然有两个同名的不同声明。这里没有问题。为什么会有3个上限?你是在问这两个函数是否重载吗?@BenjaminLindl
const
和非const
成员函数是否属于重载
iterator find ( const key_type& x );
const_iterator find ( const key_type& x ) const;
是的,这是过载。该术语在
[over]/1
中定义为:
当为同一作用域中的单个名称指定两个或多个不同的声明时,该名称被称为重载
这里显然有两个同名的不同声明。这里没有问题。为什么会有3个上限?你是在问这两个函数是否重载吗?@BenjaminLindley我可以回答这样一个问题:“用相同的名称声明
const
和非const
成员函数是否重载?”是的。将为常量此
选择常量版本,为非常量此
选择非常量版本。是的,这是函数重载的有效示例。如果这是个问题的话。另外,这种常量是函数签名的一部分。