// Const.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<string>
#include<iostream>
using namespace std;
const string &shortstring(const string& s1, const string& s2)
{
return s1.size() < s2.size() ? s1 : s2;
}
string &shortstring(string &s1, string &s2)
{
const string &r = shortstring(const_cast<const string&>(s1), const_cast<const string &>(s2));// auto &r = shortstring(const_cast<const string&>(s1), const_cast<const string &>(s2));
return const_cast<string&>(r);
}
class ShortStr
{
public:
ShortStr(const string &ss1,const string &ss2):s1(ss1),s2(ss2){}
string shortstring()const{ return s1.size() < s2.size() ? s1 : s2; }
private:
string s1, s2;
};
int main()
{
string ss1 = "aaa";
string ss2 = "aa";
cout<< shortstring(ss1, ss2)<< endl;//返回string&
const string ss3 = "bbb";
const string ss4 = "bb";
cout << shortstring(ss3, ss4)<< endl;//返回const string&
ShortStr ss5("ccc", "cc"); //非常量版本对象
cout << ss5.shortstring() << endl;
const ShortStr ss6("ddd", "dd"); //常量版本对象
cout << ss6.shortstring() << endl;
return 0;
}
Const
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 1、注意 数组和指针常量还是不能一概而论的。 2、const char, char const, char*con...
- (本文参考了http://blog.csdn.net/yingxunren/article/details/396...
- [定义理解] char* const p; p为指向字符变量的指针,地址不变,地址内容可变 const char ...
- 一.Static的作用详述 摘要:C语言中,static的字面意思很容易把我们导入歧途。本文将对C/C++中Sta...
- 参考CSDN:[error] MFC错误不能将参数1从"const char [3]"转换为"const wcha...