您的位置:首页 > 编程语言 > C语言/C++

c++的基本知识

2018-03-19 21:32 197 查看
- 什么是C++?

c++是由c发展而来,与c兼容。用c语言编写的程序基本上可以不加修饰的用于c++。c++既可用于面向过程的结构化程序设计,又可以用于面向对象的程序设计,是一个功能强大的混合型的程序设计语言。

c++对c的“增强”,表现在两个方面:

1)在原来面向过程的机制基础上,对c语言的功能做了不少补充。

2)增加了面向对象机制。

为什么C++支持重载?C语言不支持–重点

c++ 函数有修饰规则,在链接过程中引入了参数。在其他文件下定义函数后,在其他文件上去找的过程中函数后面引入了函数的类型(函数名+参数)

C语言是什么名字就找什么函数

代码运行需要以下几个步骤:

test.c test.h main.c

1、预处理 展开头文件/宏替换/去掉注释/条件编译 test.i main.i

2、 编译 检查语法,生成汇编代码 test.s main.s

3、 汇编 汇编代码转化成机器码 test.o main.o

4、 链接 链接到一起生成可执行程序 a.out

缺省参数:缺省就可以理解为一个备胎,不传参就用它自己的,传参就用穿的那个。

半缺省只能缺省右边的,且必须是连续的。

// 全缺省参数
int Add1 (int a = 0, int b = 0)
{
return a + b;
}
// 半缺省参数
int Add2 (int a, int b = 0)
{
return a + b;
}
void Test ()
{
Add1();
Add1(1);
Add1(1,1);
Add2(2);
Add2(2,2);
}


命名空间

在c++中总会有using namespace std;这句,好多人都不理解这一点,其实它就是一个命名空间,在std这个空间中包含cout、endl等等这些变量,它就相当于一个库,去掉这句要想程序继续运行就要借用全局域符号::每句前面加上std::,这些变量才能正常使用。

用法:

namespace my1
{
int a = 10;
namespace my2
{
int a = 8;
}
}
int main()
{
std::cout << "change world" <<std::endl;
std::cout << my1::a << std::endl << my1::my2::a << std::endl;

system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++