1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C笔记

C++ 笔记 基础C++风格_字符串_名称空间_引用 1 c++程序文件 C++程序文件的后缀有xxx.cpp/xxx.C /xxx.cc /xxx.cxx xxx.cpp//cpp是c plus plus即c++ 2编译 g++//编译 g++ -c //只编译 g++ -c xxx.cpp//只编译xxx.cpp文件,会生成xxx.o 3编译文件 这是定义、连接分开做 g++ xxx.o//编译xxx.o文件,会生成a.out g++ xxx.o -onewname//编译xxx.o文件,并重新命名为newname(注意-o是重新命名的意思,然后后面接的是newname,不是说新的名字为onewname) 下面的命令是定义、链接一起做 g++ xxx.cpp//编译生成a.out文件 g++ xxx.cpp -onewname//也可以给生成的文件重新命名 4 注释符号用// C++中输入(cin)、输出(cout);其输入输出的头文件用的是iostream C++凡是标准的头文件都不会是iostream.h的,标准的头文件都是iostream C++与C相比较而言,多了namespace,为了避免名字的冲突、为了用起来方便。 多种库的全部的东西都放到了一个命名空间里,这个命名空间叫std 5关键字 using、namespace 特别说明一下,cin、cout这两个分别是用来输入和输出的对象,它们不是关键字。 特别说明一下,还记得在java当中字符串类型的类是String ,而在C++当中string(要说明的是此处的开头s是小写的)是关键字、是一种类型。 6操作符 using std::cout//A::B表示A范围内的B,“::” 称为域操作符 我不用全部的,我使用标准库中的一部分。 cpp//该命令是c语言程序的预处理结果,编译器是不执行的。 7 这样是无法进行编译的,因为没有指明要使用哪一个命名空间。 8 这样才能进行编译,以往内这个文件中指明了要使用这个furong命名空间 9 有冲突还是需要区分开名字(在这里是为了把name给区分开),这就是命名空间的优越性。在不产生冲突的时候,就不需要区分这个。 10 在不同范围内同名的时候,范围大小不同的时候,总是小范围的优先,局部有先。 11 到16行为止,我们就再没有定义name新变量,在main这个小范围内也没有定义变量,a处的name只能是去外面找,找到了12行、13行的czq、furong,当执行到第20行的时候,2处的要用name,它内部有,就不去外面找了,就用b处的name 16行: cout”我喜欢”nameendl;//歧义,不知道该取“陈宗权”?还是“芙蓉姐姐”? 所以会报错。 尽量去避免重名,如果避免不了的话也是局部优先 图a 图b 由上面的图a和图b,通过对比可以知道,coutname”很帅”endl;这行代码中的name变量首先是在局部找name变量即在main函数这个大括号里面找,但前提是:这个变量的定义一定要在使用之前才可以。图a:21行定义的变量;22行使用的name变量。图b:19行使用;22行定义变量,图b显然是不对的做法。总结:在局部使用变量而没有说明具体使用哪一个命名空间的时候,这时候首先在局部里面找,但是也是在使用之前找变量的定义。因为程序是从前往后执行的。 12 22行的::name表示的意思是全局变量、或者是外面的,取得值就是14行的“王磊” cout::name”也很帅”endl;//全局的name:王磊 其实是这样的,C++里面,把没有放在名字空间里面的东西,统称为放在了匿名空间里面了 13 操作 C++风格字符串 C风格字符串 初始化 一样 一样 赋值 = strcpy(s2,……); 连接 += strcat(s2,……); 拼接新字符串 + 没有 字符串比较大小等 ==,!=,,=,,= strcmp(s2,……); 取得字符串的长度 s1.size()/s1.length() Strlen(s2); 查找 find(……); Strchr(s2,……);/(strstr(s2,……); 访问某个元素 s[i] s[i] 两种风格的字符串混合运算的时候,C风格字符串会自动转成C++风格字符串 自定义类型,在定义的时候用关键字,在使用的时候就不用重复关键字了。 还包括结构、枚举、联合统统如此. 凡是用“”包起来的字符串就是char数组即C字符串,这个都知道, string s1=”fff”;//”fff”这是个

文档评论(0)

tianma2015 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档