#include <iostream>
#include <string>
using namespace std;

// 这是一个底层的接口,没办法对这个接口进行修改 😕
const string &hello(const string &a1, const string &a2)
{
    return (a1.size() < a2.size()) ? a1 : a2;
}

int main()
{
    string a1 = "123", a2 = "1111111";
    
    // 由于定义的是 const 返回值,参数也是 const,所以这样写肯定报错。🚫
    // string& result = hello(a1, a2);
    
    // 这样就可以啦!🎉
    string &result = const_cast<string &>(hello(const_cast<const string &>(a1), const_cast<const string &>(a2)));
    cout << result << endl;
}

标签: c++, 常量

添加新评论

😊