- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
cprimer学习
操作系统通过main函数返回的值来确定程序是否成功执行完毕,返回0表明程序成功执行完毕。标准输入与输出对象cin(标准输入), cout(标准输出), cerr(标准错误), clog整数的赋值在c++中把负值赋给unsigned对象是完全合法的,其结果是该负数对该类型的取值个数求模后的值,座椅,如果把-1赋给8位的unsigned char,那么结果是255,当将超过取值范围的值赋给signed类型时,由编译器决定实际赋的值,在实际操作中,很多的编译器处理signed类型的方式和unsigned类型类似,也就是说,赋值时是取该值对该类型取值数目球求模后的值,然而我们不能保证编译器都会这样处理signed类型声明和定义变量的定义:用于为变量分配存储空间,还可以为变量指定初始值,在一个程序中,变量有且仅有一个定义变量的声明:用于向程序表明变量的类型和名字,定义也是声明:当定义便来那个时我们声明了它的类型和名字,可以通过使用extern关键字声明变量名而不定义它,不定义变量的声明包括对象名,对象类型和对象类型前的关键字externextern int i;//声明但没有定义int i;//声明并且定义了extern声明不是定义,也不分配存储空间,事实上,它只是说明变量定义在程序的其他地方,程序中变量可以声明多次,但只能定义一次注意:如果声明有初始化式,那么它可以被当作是定义,即使声明标记为externExtern double pi = 3.14159;//这里是定义只有当extern声明位于函数外部的时候才可以含有初始化式(已经证明)ConstConst引用是指向const对象的引用Cosnt引用可以初始化为不同类型的对象或者初始化为右值int i = 42;Const int r = 42;Const int r2 = r + i;int oo = 1;//这里是错误的constint rval = 1.01;//这里是正确的枚举enum week{monday, thesday};week a;a = 2;//这样是错误的,不能将整型直接赋值为枚举类型enum week{monday, thesday};week a;a = (week)20;cout a endl; //这里输出为20标准库string类型String类型的构造函数String s1;初始化为空串String s2(s1);String s3(“value”);String s4(n, ‘c’); 将s4初始化为‘c’的n个副本string s(5, c);cout s endl;//这里输出为ccccc用getline读取整行文本另外还有一个有用的string IO操作:getline,这个函数接受两个参数,一个输入流对象和一个string对象,getline函数从输入六的下一行读取,并保存读取的内容到string中,但不包括换行符,和输入操作符不一样的是,getline并不忽略行开头的换行符,只要getline遇到换行符,即便它是输入的第一个字符,getline也将停止读入并返回,如果第一个字符就是换行符,则string参数将被置为空stringstring line;while(getline(cin, line))cout line endl;由于line不含换行符,如果要逐行输出需要自行添加注意:由于getline函数返回时丢弃换行符,换行符将不会存储的string对象中1 string对象的size和empty操作string line(hello);string str;cout line.size() endl;//结果为5cout line.empty() endl;//结果为0cout str.empty() endl;//结果为1对size函数的一些说明:string line(hello);string::size_type length = line.size();cout length endl;//输出为5从逻辑上来讲,size()成员函数似乎应该返回整型数值,但事实上该操作返回的是string::size_type类型的值,我们需要对这种类型做一些解释String类类型和许多其他库类型都定义了一些配套类型,通过这些配套老邢,库类型的使用就能与机器无关,size_type就是这些配套类型中的一种,它定义为与unsigned型(unsigned int或unsigned long)具有相同的含义,而且可以保证足够大能够存储任意string对象的长度,为了使用string类型定义的size_type,程序员必须加上域操作符说明所使用的size_type类型是由string类定义的注意:任何存储s
文档评论(0)