C++相比于C引入了对象和类等重要概念以及stl库函数,这一节我们暂时不讨论这些
首先我们先在控制台上打印个Hello Wrold 学习每个语言的必经之路
#include
using namespace std;
int main()
{
std::cout << "Hello World" << std::endl;
return 0;
}
输入以上的代码就可以输出一个Hello World了
我们发现C++和C的区别上并不是很大,头文件,main函数还有return 0;其实C++是包含C的C的语法是可以在C++中运行的,接下来我们来分析一下以上代码的各个作用
一、首先是#include
iostream内部包括istream和osteam这两个基础的对象,他们共同管理一个公共的缓冲流,打印则是向缓冲流中输入并输入给控制台,我们从键盘输入时通过缓冲流给我们所开辟的空间赋值
cout表示向控制台输出 、cin则为输入,可以类比C语言中的printf和scanf 不过cin可以自动判断类型不用像scanf一样需要加入%d之类的
>>、<<表示流向
::作用域限定符 指定某空间的某个对象
二、using namespace std; 我们把这个叫做命名空间
为社么要引入命名空间这个概念呢?在C中我们取名字只能取一次比如:有一个函数叫add,那我就不能再起同样的名字了,这时C++则引入了命名空间,在我们所命名的空间内命名过的名字,在其他的命名空间同样也可以命名以及使用,但在使用时需要表面是哪个空间的
1.如何命名一个空间呢?
namespace +空间的命名 + { } 如下:
namespace N //如何创建命名空间 namespace + 空间名 + {}
{
int a = 10;
int b = 20;
int add(int a , int b)
{
return a + b;
}
namespace N2 //当然也可以嵌套
{
char a = 'c';
}
}
2.我们如何使用这个空间内的东西呢? 有三种方法
第一种:使用using namespace 命名空间名称引入 using namespace + 空间名 使用方法如下
using namespace N; //全展开则可以使用空间内所有被定义的
using namespace std;
int main()
{
cout << add(a,b) << endl;//用了N中所定义的a,b还有add函数
return 0;
}
第二种:使用using将命名空间中成员引入 在接下来的所有程序中都可以使用被引用的成员 相比于第一种方法这种方法更加节省资源 只会展开空间中的个别成员
using std::endl;
using std::cout;
using N::N2::a;
using N::add;
int main()
{
cout << add(1,2) << endl;
cout << a;
return 0;
}
第三种:加命名空间名称及作用域限定符 命名空间名称+::+调用的对象 不过每次打命名空间很麻烦 练习时一般我们使用第一种
int main()
{
std::cout << N::add(1,2) << std::endl;
std::cout << N::N2::a;
return 0;
}