Visual C++ 2008新特性:MFC的增强.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VisualC2008新特性:MFC的增强

Visual C++ 2008新特性:MFC的增强虽然在托管语言的发展方面C++似乎较之其他语言发展步调缓慢,但是C++语言的新功能依然不逊于任何其他托管语言。与Visual Basic这种日新月异的语言不同,C++语言一直保持其不变的风格是它的一个优良传统,当然C++的也并非永远一成不变,其每一步变化无不是经过反复推敲的经典之作。目前正在制定中的下一代 C++ 标准 C++ 0x 将通过对语言本身的扩展来满足最近十年来开发人员对它提出的各式各样的需求。技术报告1(TR1)是这一标准建立过程中的过度产品,更多的语法特性将作为最终版本的一部分进行发布。 标准模板库 数组 现有的C++标准模板库中有个备受争议的设计,就是其没有引入定长数组,当然有很多办法解决这一问题,比如使用C语言风格的数组,或者使用vector甚至使用第三方类库,但是这些方法显然没有解决这一问题。所以为C++新标准添加定长数组简直是天经地义的,使用新数组集合的方法也非常简单,数组长度被作为模板的一个参数,而数组的操作方式和STL中的vector对象完全一致。 ? ? std::tr1::array的使用方法 ?1?#include?stdafx.h ?2?#include?array? ?3?#include?iostream? ?4?#include?string? ?5? ?6?int?_tmain(int?argc,?_TCHAR*?argv[]) ?7?{ ?8?????std::tr1::arrayint,?3?intArray?=?{4,?8,?10};? ?9?????std::tr1::arrayint,?3?intArray2?=?{4,?8};? 10?????intArray2[2]?=?10;? 11?????std::cout??((intArray?==?intArray2)??std::string(Arrays?are?equal):?std::string(Arrays?arent?equal)?);? 12?????std::cout??std::endl; 13?????for?(std::tr1::arrayint,?3::const_iterator?it?=?intArray2.begin();? 14?????????it?!=?intArray2.end();?++it)? 15?????{ 16?????????std::cout?????*it;? 17?????}?? 18?????return?0; 19?} ? 对于上面的代码有些内容需要引起注意: 1. 在数组声明的过程中既可以定义全部内容也可以只定义一部分内容,编译器会判断数据类型和数组长度,并自动完成数组定义 2. “==”操作符被重载过了,重载之后的操作符可以用于比较两个数组中的元素是否相同。 3. 迭代器的工作方式和之前的标准模板库中集合对象的使用保持一致 Visual C++ 2008通过使用std::tr1名字空间引入了上面这些TR1的扩展功能。 正则表达式 虽然很多第三方工具已经在C++中实现了正则表达式功能,但是这些工具对于标准C++的整合远远没有达到大家所期望的程度。把正则表达式引入C++之后,正则表达式的运算结果就可以直接被STL中的其他运算所引用,并且使用正则表达式的代码也可以被各种编译器编译。 在TR1中引入的正则表达式类库basic_regex有点类似于标准C++中很重要的类库basic_string,对于一个basic_regex类,你需要指定的是使用char或者wchar字符作为参数。 basic_regex类的字符内容是正则表达式字符和符号,basic_regex类支持许多种正则表达式标准,如basic, extended, ECMAScript, awk, grep, 和 egrep。在设置好正则表达式字符串之后,basic_regex类的对象通过一系列函数接收一个用于拆分的字符串并进行正则匹配。 用于正则匹配的函数有3个,regex_match, regex_search 和 regex_replace.其中regex_match函数用于判断接受的字符串是完全否匹配正则表达式,regex_search用于返回参数中符合正则表达式的字符串内容,返回对象是一个match_results。而regex_replace用于替换提交字符串中正则表达式匹配的内容。 示例代码显示了如何使用正则表达式匹配一个电子邮件地址,并把匹配结果显示出来 . ? tr1正则表达式的使用 ?1? ?2?#include?stdafx.h ?3?#include?regex? ?4?#include?iostream? ?5

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档