菜鸟成长记录【3】C++学习(一)

C++与C的关系:

        C++(C plus plus),见名知意,C++是C的加强版,当然也是很大程度的兼容C的。

C++的新操作:(以下多数是与C对比)

命名空间:

namespace AA
{
    int n = 0;
}

namespace BB
{
    int n = 8;
}

在定义全局变量时若有两变量名相同就会报错,当加上命名空间后就可以有效防止命名冲突;

当需要使用变量时可用    空间名+作用域符号+变量名 

如:AA::n ----------> 0

        BB::n ----------> 8

输入输出:

C++中既可以使用原来的 printf、scanf,也可以使用 cout、cin;

cout、cin用法:

                cout << "哈哈哈\n"; <------------------> printf("哈哈哈\n");

                cin >> a;                  <------------------> scanf("%(任意格式)",&a);

区别:

        当使用printf、scanf时,我们往往需要看看需要什么类型的格式符,而cout、cin不区分这些;

引用:

用法:

数据类型  &新变量名 = 原变量名

int a = 5; 

int &b = a;

如上:最后a,b的值都为5;

实际上引用的操作就是给变量a的空间起了个别名叫b,两个变量使用的是同一片空间;

 函数重载:

假定我需要子函数帮我算加法,那么用C时这样做

int addtwo(int a,int b)//两数和
{
    return a + b;
}

int addthree(int a,int b,int c)//三数和
{
    return a + b + c;
}

像这样要用同样的功能,但是因为参数个数不同,我就得记下很多种函数名字,鸭梨山大;

在C++中可以这样:

int add(int a,int b)//两数和
{
    return a+b;
}

int add(int a,int b,int c)//三数和
{
    return a+b+c;
}

虽然在定义时会有多个函数重名,但在编译时会对每个函数重载(根据参数重命名),这样在使用一类功能时仅记住一个函数名即可。

堆区空间的申请与释放:

在C中使用 malloc 与 free, C++中提供 new 和 delete

//申请一个int 的空间
int *p = (int *)malloc(sizeof(int));
free(p);

int *p = new int;
delete p;

//申请10个int 的空间
int *p = (int *)malloc(sizeof(int) * 10);
free(p);

int *p = new int[10];
delete []p;

由上可以看出:使用malloc时需要对申请的空间进行强制类型转换且需要计算空间的大小,new不需要;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值