加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

EasyC++01,从C++示例程序讲起

发布时间:2021-11-05 11:25:17 所属栏目:语言 来源:互联网
导读:大家好,我是梁唐。很多小伙伴反应想要用C++刷LeetCode,但是对于C++语法不熟悉,对于很多算法和数据结构也不够了解。这就导致了刷题的时候需要四处查询资料,非常的麻烦。于是,受此鼓舞,老梁在github上新建了名叫EasyLeetCode的repo,决定将C++基
大家好,我是梁唐。   很多小伙伴反应想要用C++刷LeetCode,但是对于C++语法不熟悉,对于很多算法和数据结构也不够了解。这就导致了刷题的时候需要四处查询资料,非常的麻烦。   于是,受此鼓舞,老梁在github上新建了名叫EasyLeetCode的repo,决定将C++基础、算法、数据结构、题解这一系列内容全部囊括。当然这个工程巨大,老梁目前打算先从C++基础开始,每天更新一篇。也会同步更新到公众号。   目前更新C++基础,文章标题会以EasyC++开头。保持每天更新,欢迎打卡。由于文章会同步到github等平台,所以文章会相对更偏技术博客一些,不太像是公众号的文章。   废话到此结束,正文开始。   我们先来看一段C++的示例代码:   // my first cpp file  #include <iostream>  int main() {      using namespace std;      cout << "hellworld" << endl;      return 0;  }  这段代码虽然很短,但几个重要的要素都包含了,如果只是用来刷题,会发现基本上也只会用到这些语法。   我们一行一行来看。   注释 首先是第一行,第一行表示的C++当中的注释。C语言当中的/**/的多行注释方法同样支持,但为了避免潜在的问题,尽量使用C++类型的注释。   include 第二行是预编译指令include,这里的预编译指令是一个专业名词,表示在编译之前预先执行的指令。C++当中的预编译指令有好几种,除了include之外还有define、if、undef等等,我们后面遇到了再说。   include这个指令会引入一个源代码文件,后面跟着的是一个包含文件名,也叫头文件名。C语言中的头文件以.h结尾,而C++当中兼容了C语言的头文件,只不过将其重新命名,去掉了末尾的.h,而换成了c开头。比如math.h文件替换成了cmath。   在这行代码当中我们include的头文件叫做iostream,iostream为C++的标准输入输出库,用来在终端读入或者打印文本信息。iostream可以拆开理解成io和stream,其中io表示input、output即输入输出,stream表示流,即使用流形式进行io。   main函数 main函数是C++程序的入口函数,C++标准当中定义的main函数类型是int。返回0表示程序正常退出,所以一般我们要在main函数的最后写上return 0。   C++的main函数通常有两种写法,一种是参数留空,一种是定义参数数量以及参数值。   int main() {}  int main(int argc, char* argv[]) {}  关于main函数的传参方法,以及参数使用方法同样会在之后介绍,初学者随便使用哪一种都是一样的。   注意,有些编译器比如vc6.0等没有严格遵循C++ Primer规范,导致支持void类型的main函数。建议放弃此类不规范的编译器,以免代码无法迁移,并且养成不好的编码习惯。   命名空间 命名空间是C++当中的特性,用来解决大型项目名称冲突的问题。   有可能多个程序员同时开发了getValue函数,但当我们编译运行的时候,编译器无法知道我们究竟调用的是哪一个getValue,所以需要使用命名空间进行区分。比如A程序员将getValue放入了名为A的命名空间当中,那么当我们调用getValue的时候就需要写成A::getValue,B程序员将它放入了名为B的命名空间中,同样调用的时候写成B::getValue。   然而常用的许多函数、变量都明明在std的命名空间当中,这就意味着当我们使用这类内容的时候,都需要在前面加上std::,比如标准输出的cout命令,需要写成std::cout。   这会导致编码变得繁琐,所以C++提供了using namespace的功能,即告诉编译器当前使用的命名空间名称,这样我们在调用该命名空间的内容时,可以省略前缀。   除了using namespace之外我们也可以单独使用using命令,例如:   using std::cout;  using std::cin; 

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!