- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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”这是个
您可能关注的文档
- Android获取屏幕尺寸与密度.doc
- AnnotationsaboutDeepLearning.doc
- ansys常见结构建模.doc
- AnsoftHFSS130详细安装教程及其破解步骤.doc
- APP开发流程.doc
- APP推广合作协议.doc
- APP创业计划书.doc
- ArcGIS教程.doc
- ARIMA模型-自回归移动平均模型.doc
- ARM中断总结.doc
- 甘肃省白银市会宁县第一中学2025届高三3月份第一次模拟考试化学试卷含解析.doc
- 2025届吉林市第一中学高考考前模拟生物试题含解析.doc
- 四川省三台县芦溪中学2025届高三下第一次测试生物试题含解析.doc
- 2025届江苏省启东市吕四中学高三适应性调研考试历史试题含解析.doc
- 浙江省宁波市十校2025届高三二诊模拟考试历史试卷含解析.doc
- 甘肃省甘南2025届高考生物必刷试卷含解析.doc
- 河北省石家庄市一中、唐山一中等“五个一”名校2025届高考历史四模试卷含解析.doc
- 江西省南昌市进贤一中2025届高考生物考前最后一卷预测卷含解析.doc
- 甘肃省白银市会宁县第四中学2025届高三第二次模拟考试历史试卷含解析.doc
- 宁夏银川市宁夏大学附属中学2025届高考化学押题试卷含解析.doc
文档评论(0)