C++基础 | C++对C语言的增强

namespace命名空间

C++中的命名空间:

命名空间将全局作用域分成不同的部分

不同命名空间中的标识符可以同名而不会发生冲突

命名空间可以相互嵌套

全局作用域也叫默认命名空间

C++命名空间的定义:

namespace name{

...

}

C++命名空间的使用:

使用整个命名空间:using namespace name;

使用命名空间中的变量:using name::variable;

使用默认命名空间中的变量:::variable

默认情况下可以直接使用默 认命名空间中的所有标识符

可以嵌套

新增bool类型关键字:

C++中的布尔类型

C++在C语 的基本类型系统之上增加了bool

C++中的bool可取的值只有true和false

理论上bool只占 1个字节,

如果多个bool变量定义在 起,可能会各占 个bit,这取决于编译器的实现

true代表真值,编译器内部 1来表 false代表 真值,编译器内部 0来表

bool类型只有true( 0)和false(0)两个值

C++编译器会在赋值时将 0值转换为true,0值转换为false

三目运算符的增强:


#include <iostream>

using namespace std;

int main(void)

{

int a=3,b=5;

(a<b?a:b)=4;

cout<<a<<endl;

cout<<b<<endl;

return 0;

}

作为左值可以这么写。

运算结果:a=4,b=5

const增强:

合理的利用const的好处:

1指针做函数参数,可以有效的提高代码可读性,减少bug;

2清楚的分清参数的输入和输出特性


#include <iostream>

int main(void)

{

//const 定义常量---> const 意味只读

const int a;

int const b;

//第一个第二个是一样的

const int *c;

//第三个 c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改)

int * const d;

//第四个 d 常指针(指针变量不能被修改,但是它所指向内存空间可以被修改)

const int * const e ;

//第五个 e 个指向常整形的常指针(指针和它所指向的内存空间,均不能被修改)

return 0;

}

#define a 1 

const int a=1 //这是a在常量区

C++中的const修饰的,是一个真正的常量,而不是C中变量(只读)。在const修饰的常量编译期间,就已经确定下来了, define是在预处理阶段,相当于文本替换

枚举


enum name {

a,

b,

c

}

a默认值是0,若a=1,则b=2,c=3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值