C++:Cstring 与string类型的区别是什么?

本文详细对比了MFC类库中的CString与C++标准库中的string。CString主要用于MFC和ATL编程环境中,能够更好地与其他MFC类结合使用;而string具有良好的可移植性和标准性,适用于非微软平台或移植性要求较高的场合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cstring 好像是MFC类库中的。
string好像是C++ 标准库中的
继续追问: 那他们的作用是一样的吗?
补充回答: 是一样的,在不同的场合,各有各的优点。
CString能与MFC类库的其他类,有机完美的结合起来。可以方便的使用MFC。
其他答案(1)
CString 是MFC或者ATL中的实现,
string是C++标准库中的实现
string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中;
  CString(typedef CStringT<TCHAR, StrTraitMFC<TCHAR>> CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char(应用于ANSI),wchar_t(unicode),TCHAR(ANSI与unicode均可);
  char*为C编程中最常用的字符串指针,一般以’\0’为结束标志;

在MFC、ATL中使用字符串尽量使用CString,毕竟都是微软的孩子,各方面都比其它更有优势,而在非微软平台上或对移植性要求较高的场合推荐使用string,标准模板库提供了那么强大的泛型算法,没必要再自己去造车轮。

string是C++标准库中的类,具有良好的可移植性,标准性等

转载于:https://www.cnblogs.com/zhwl/archive/2012/11/08/2760071.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值