C++与C的区别(1)————一些基本控制的区别

1、使用const定义常量

C语言中使用define定义常量

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    int x=5;
    #define T1 x+x
    #define T2 T1-T1   ///define只是做简单的替换,T2=x+x-x+x=10
    cout<<"T1="<<T1<<"  T2="<<T2<<endl;
    return 0;
}
///运行结果:
///T1=10 T2=10

C++中使用const定义常量

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    int x=5;
    const int T1=x+x;
    const int T2=T1-T1;
    cout<<"T1="<<T1<<"  T2="<<T2<<endl;
    return 0;
}
///运行结果
///T1=10 T2=0

2、新增的强制类型转换方式

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    float f=100.356;
    int x=int(f);///C++中强制类型转换
    cout<<x<<endl;
    return 0;
}

3、新增的bool类型

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    bool f=1<2;///默认情况下,bool表达式的值为true时,输出为1,值为false时输出为0
    cout<<f<<" "<<boolalpha<<f<<" "<<noboolalpha<<f<<endl;///boolalpha操纵符使其输出true或false,noboolalpha使其输出恢复为1或0
    return 0;
}
///运行结果:
///1 true 1

4、名字空间(namespace)

作用:防止命名冲突

定义:namespace 命名空间的名称{****}

使用方法:

(1)先用using namespace 名字空间名称;声明整个名字空间,在此后的程序中可以直接使用名字空间的内容,不需要加任何限定标记

(2) 名字空间的名称::局部内容名 ,这里的::称为域解析符

(3)先用 using namespace 名字空间名称::局部内容名;来声明名字空间中的一个局部内容,此后在程序中直接使用该局部内容名而无需加任何限定标记,但是必须加限定标记使用该名字空间中的其他内容

综上:已经用using声明的,可以直接使用;未声明的,用名字空间名::局部内容名的方式使用

#include<cstdio>
#include<iostream>
using namespace std;///声明使用一个完整的名字命名空间std,c++提供的名字,所有的标准库函数都在标准命名空间std中进行了定义
namespace one
{
    const int M=100;
    int inf=10;
}
namespace two
{
    int x;
    int inf=-100;
}
using namespace one;///using声明 使用一个完整的名字空间one
int main()
{
  using two::x;///using声明 仅使用名字空间two中的x
  x=-100;
  cout<<inf<<endl;///输出 名字空间one 中的x
  cout<<M<<endl;
  two::inf*=2;///名字空间名::局部内容名 操作using未声明的内容
  cout<<two::inf<<endl;
  cout<<x<<endl;///using已经声明的
}
/*
运行结果
10
200
-200
-100
*/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值