1.C++是什么
C++是在C语言基础上开发的一种集面向对象编程、泛型编程和过程化变成于一体的编程语言,是C语言的超集。
2.了解C++
我们要知道C++兼容C,因此,C语法也可以在C++中进行使用。如:C语言中的printf,scanf。但值得注意的是,因为编译器的不同,有时候需要写入include<stdio.h>才可以更好的使用C。如果没有报错,就可以不用写,报错就需要大家多多动手加上这一句代码了。
3.进入C++的世界
现在给出一个简单的代码:
#include<iostream>
using namespace std;
int main()
{
cout<<"Hello,everyone.Welcome to my blog.";
cout<<endl;
return 0;
}
对它进行逐步地解释:
1.如果程序使用C++的输入和输出,此时就需要提供如下两行代码
#include<iostream>
using namespace std;
第一行就如同C中的include<stdio.h>预处理器,该程序在进行主编译之前对源文件进行处理。
第二行的意思using将C++中的标准库std展开,它可以使我们方便使用C++中的如输入输出等语句。这种使用方法在项目中不推荐,冲突风险较大,我们日常小练习程序中可以使用。
如果在项目中推荐使用这种表现形式:
#include<iostream>
int main()
{
std::cout<<"Hello,everyone.Welcome to my blog.";
std::cout<<endl;
return 0;
}
这样可以有效避免命名空间展开时名称冲突等风险。
第五行作用就是输出了,相当于C中的printf。cout是输出的关键字,<<是流插入运算符,后面紧跟你想要显示的内容。
与之相对应的还有输入,cin是C++中的输入,>>是流提取运算符,后面紧跟要输入的内容。
第六行作用就是换行,光标从Welcome to my blog.移动给到下一行,相当于C中的\n。我们在开头说过C++兼容C,因此endl可以换成"\n"。
最后就是我们熟悉的return 0;了。
这就是一个简单的C++程序。
值得一提的是,C++的输入输出很方便,不需要像printf / scanf输入输出时那样,需要我们手动指定格式,C++的输入输出可以自动识别变量类型(本质是通过函数重载实现的)。
小知识:
1命名空间
1.语法规则
namespace sky
{
statements//和main函数的写法一样
// 举个例子:
int a=10;
}
sky是这个空间的名字,当然你可以写其他的。
如何在主函数中使用这个变量
printf("%d\n",sky::a);
便捷使用方法就是加入如下代码
using namespace sky;
这行代码可以将sky中的成员全部展开,
此时,输出a的值就不需要::这个域作用限定符了。代码:printf("%d\n",a);
当然,这种方法不推荐在项目中使用,刚刚也说到过有风险。
注意:1.namespace只能定义在全局,当然还可以嵌套定义。
2.项目工程中多文件中定义的同名namespace会认为是一个namespace,不会冲突。
2.解释命名空间名称冲突风险
命名空间名称冲突:
如果两个不同的命名空间A和B中使用了相同的名称,使用using将A和B中的成员全部展开之后,此时编译器就会因为无法识别而报错.
2.<<和>>
<<和>>是二元操作符,即意味着cout<<m,"abcde";这种写法是错误的。因为它有三个操作数,分别是cout,m,"abcde"。
正确的写法是这样的cout<<m<<"abcde";