gpt4 book ai didi

c++ - 使用 const 重载函数的行为

转载 作者:太空狗 更新时间:2023-10-29 20:24:43 25 4
gpt4 key购买 nike

我正在研究 g++,在这里我尝试通过将 const 添加到参数来重载函数。它工作正常,当它运行时,它调用没有 const

的函数
  1. 此行为是否在 C++ 标准中指定?
  2. 为什么调用函数时没有const

    void print(const std::string& str){std::cout << "const" << str << std::endl;}

    void print(std::string& str){std::cout << str << std::endl;}

    int main()
    {
    std::string temp = "hello";
    print(temp);
    return 0;
    }

最佳答案

引用绑定(bind)是一个身份类别§13.3.3.1.4),但由于后者更符合 cv,对于 §13.3.3.2,非常量是首选(示例代码来自标准):

int f(const int &);
int f(int &);

int i;
int j = f(i); // calls f(int &)

关于c++ - 使用 const 重载函数的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26573100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com