Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.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++ 成员函数的'const'和非'const'版本是否符合重载条件?_C++ - Fatal编程技术网

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
成员函数是否重载?”是的。将为常量
选择常量版本,为非常量
选择非常量版本。是的,这是函数重载的有效示例。如果这是个问题的话。另外,这种
常量是函数签名的一部分。