c++的基本知识

- 什么是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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值