C++较C语言的变化

1、C++命名空间——作用:规范变量出处

在C++命名空间中,std是标准的命名空间。

企业规范:

    g_stu: 以g_ 开头的是全局变量
    stu_t: 以_t 结尾的代表typedef规则定义的别名

(1)自定义一个命名空间:

namespace spaceA{
    int g_a = 10;
}  //命名空间定义结尾无分号(;)

(2)命名空间的使用

//法1:
using spaceA::g_a;
//法2:
spaceA::g_a
//法3:
using namespace spaceA;

注:命名空间中支持嵌套命名空间,但此时引用具体变量时,必须引到变量定义的最内层命名空间为止。

2、C++中的变量随用随定义,但是C语言建议在函数开头定义变量;

3、C++对struct进行了优化

struct student
{
    int age;
    int score;
};

//C语言定义结构体变量
struct student s1;

//C++定义结构体变量
student s1;

注:C语言中相像C++中一样简便定义结构体变量需用到typedef

4、C++对函数返回值类型做严格的检测

5、C++对参数个数进行严格匹配

6、C语言中无bool类型,C++中加入了bool类型(仅含有true 和 false 两个值),占取一个字节空间

7、C++对const进行了增强

注: C语言中的const是个冒牌货,可以使用指针修改常变量的值;C++对这一点进行了优化

增强部分:
(1)C语言中,可以通过指针改变常变量的值(不安全)
(2)C++中,对常量做了功能增强,不可通过指针更改常量的值
注:在C++中增加了符号表,通过键值对建立了值与常量的映射,进而确保常量值不可变

8、三目运算符

左值:放在等号左边,一般是可修改的变量;

右值:放在等号右边,一般是常量或者表达式

三目运算符当左值:

//C语言中,需通过地址
*(a > b? &a : &b) = 50;

//C++中三目运算符可以直接当左值
(a > b? a : b) = 60;

9、枚举类型(大型项目中常用)——相当于批量定义宏

enum season
{
    SPR,
    SUM,
    AUT,
    WIN
};

//定义枚举变量
enum season s = AUT;
//在C语言中,枚举变量是一个整型变量

需明确:若改变AUT值为100,随即WIN值就变更为101

注:枚举变量一般用于switch中,为case设置不同的条件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Star星屹程序设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值