这是我写的第一个博客关于C++的一些笔记,我不会写的太深奥,因为这样很多人会看不懂(我刚开始学C语言深受其害)。个人觉得C++这门语言有些类似于C语言但是有些函数的用法还是有不一样的。C语言中的头文件是#include<stdio.h>,C++的头文件为#include<iostream>(偶尔还会用到stdio.h的头文件,C++一般写法为#include<cstdio>)。
1 #include<iostream> 2 #include<cstdio> 3 #include<string> 4 using namespace std;//此声明代表了能使用std中所有的东西
上面这个代码中stdio.h是以往的C和C++的头文件,cstdio是标准C++,而且cstdio中的函数都是定义在一个名称空间std里面的,如果要调用这个名字空间的函数,必须得加std::或者在文件中声明using namespace std;string这个头文件是储存了字符以及字符串的一些相关操作的函数,等一下会在文章的下面列举几个很常见的函数。想学写C++的同学先把C语言基础打好,不然到后面会很麻烦的(本人亲测)。
在C语言中输入输出是scanf和printf,而在C++中则改成了cin和cout。和前者类似,它们也都存储在头文件中,需要值得注意的是<<和>>的区分:输入为cin>>a;(输入一个a)输出为cout<<"com="<<a<<endl;(输出的结果为com=a)
cin>>a; cout<<"com="<<a<<endl;
了解了输入输出,我们接着来讲这个namespace的特点。上述代码中namespace可以作为命名空间使用,可以在同一个工程里调用该空间里的所有变量(但是当namespace是无命名空间的时候,则不能在同一个工程下其他文件调用)。看下面代码可以自己试着运行一下,A::i的意思是调用命名空间中变量i的值并且打印出来。
int i=1; namespace A{ int i=2;
int n; } int main(){ int i=3; cout<<"A::i为命名空间变量"<<""<<A::i<<endl;//输出结果为2 cout<<"::i为全局变量"<<""<<::i<<endl;//输出结果为1 cout<<"局部变量i的值是"<<""<<i<<endl;//输出结果为3 }
记住这几个用法:直接写i是局部变量打印;::i是全局变量;A::i是命名空间的变量。这样写的好处是防止变量重名导致代码歧义。同时命名空间也可以镶嵌套用,就比如s1=>s2当作s1在命名空间内,那么我要调用s1中的变量i的值直接就写成s2::s1::i就行了。如果一个命名空间的一个函数我们需要用很多次怎么办?
using A::n;该只要声明一次就可以在程序中使用变量n而不发生报错;using namespace A;这段代码声明使A这个命名空间的参数都可以修改;感兴趣的同学可以参考下面的代码自己在调试一下。
using A::n; n=15; using namespace A;//使A这个名字空间的所有参数可以修改 cout<<"n="<<n<<endl;
刚开始学差不多就是这几种语法,后面陆陆续续我会补充一些新学的内容在我的博客里。后面还有什么C++的结构体、联合体、枚举和重载等等。
如果代码或者是那些地方理解有问题呢希望同学或者前辈能帮我指出来。