- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Mail: 1653472791@ UUID: 8339fa38-5b1 a-3531 -9bf6-916b784aa039
Mail: 1653472791@ UUID: 8339fa38-5b1 a-3531 -9bf6-916b784aa039
《从放弃C语言到使用C++刷算法的简明教程》by柳姥
目录
目录
使用C++刷算法的好处
名称空间using namespace std的解释
cin和cout输入输出
关于C++的头文件
C++的变量声明
C++特有的bool变量
C++特有的用const定义常量
C++里面超好用的string类
C++的结构体struct和C语言的结构体的区别
C++的引用和传值的区别
C++STL之动态数组vector (矢量)的使用
C++ STL之集合set的使用
C++ STL之映射map的使用
C++ STL之栈stack的使用
C++ STL之队列queue的使用
C++ STL 之 unordered_m 叩和 unordered_set 的使用
C++的位运算bitset
C++中的sort函数
C++中使用sort自定义cmp函数
关于cctype头文件里的一些函数
关于C++11的解释
C++11里面很好用的auto声明
C++”特性中基于范围的for循环
C++11 特性中的 to_string
C++11 特性中的stoi、stod
如何在Dev-Cpp中使用C++U中的函数
使用C++刷算法的好处
在已经学习过C语言的前提下,学习C++并使用它刷算法的学习成本非常低?只需要几个小时就可 以学会?
C++向下兼容C, C语言里面的语法完全可以在C++文件中运行,所以学习C++对刷算法时编程语言 的表达能力进行扩充有益无害,例如C语言的输入输出(scanf和printf )比C++快,那么就可以 在使用C++刷算法同时使用scanf和printf提高代码运行效率
C++拥有丰富的STL标准模版库,这也是PAT甲级、LeetCode等题目中经常需要用到的,单纯使用C 语言解决问题会比C++的STL解决该问题麻烦很多?
C++的string超级好用?比C语言里面的char数组好用多啦?用了就再也不想回去的那种?
C++可以在某一变量使用前随时定义该变量,非常方便
?在解决一些较为简单的PAT乙级题目的时候(例如一些时间复杂度限制不严格的题 目),cin s cout输入输出非常方便?用过的都说好?(g)?.?g))
虽然C++是一门面向对象语言,但是对于刷算法这件事而言,我们并不需要掌握它面向对象的部分?只 需要掌握刷算法的时候需要用到的部分(基本输入输出、STL标准模板库、string字符串等)就可以 啦?C语言和C++有很多相似之处,且C++向下兼容C语言,所以我没有说的地方就直接用C语言的语法 表示就好?以下是正文,先来段代码方便讲解:
1 #include iostream using namespace std; int main() {
int n;
cin n;
cout hello, liuchuo1 n + 1 endl;
7 return 0;
8 )
名称空间using namespace std的解释
这句话是使用“std”这个名称空间(namespace )的意思?因为有的时候不同厂商定义的函数名称彼此 之间可能会重复,为了避免冲突,就给所有的函数都封装在各自的名称空间里面,使用这个函数的时 候就在main函数前面写明用了什么名称空间,几乎在C++中使用到的一些方法如cin、cout都是 在std名称空间里面的,所以可以看到using namespace std;这句话几乎成了我每段C++代码的标配, 就和return 0; 一样必须有?其实也可以不写这句话,但是使用std里面的方法的时候就会麻烦点,要 在方法名前加上std::,比如写成这样:
std::cin n;
std::cout hello, liuchuo n + 1 endl;
我觉得这样比较丑,所以不管要不要用到,直接每道题的代码标配得写using namespace std;就好啦? cin和cout输入输出
就如同scanf和printf在stdio.h头文件中一样,cin和cout在头文件iostream里面,看名字就知 道,io是输入输出input和output的首字母,stream是流,所以这个iostream头文件里包含的方 法就是管理一些输入输出流的?
cin和cout比较方便,不用像C语言里的scanf、printf那样写得那样繁琐,cin?n;和 scanf(%d, n);一样的意思(而且用cin再也不用担心像scant 一样忘记写取地址符 了耶),
文档评论(0)