大学C++课堂知识点(第四期之作用域运算符、强制类型转换)

本文介绍了C++中的作用域运算符和强制类型转换。作用域运算符允许在局部作用域中访问全局变量,而强制类型转换则涉及不同数据类型间的转换。文中通过实例展示了如何使用这两个概念。
摘要由CSDN通过智能技术生成

哈哈哈,终于想起来我的CDSN的密码了(才不是为这些天没更新找借口,╭(╯^╰)╮)

 

一、作用域运算符     ::

就是后面那两个冒号哈,对的,没错,就叫做作用域运算符。

这俩个冒号就厉害嘞,他可以把局部变量变成全局变量。

咳咳~,官方解释就是:如果有两个同名变量,一个是全局的,另一个是局部的,那么局部变量在作用域内具有较高的优先权,它将屏蔽全局变量。

话不多说,上例子:

全局变量和局部变量同名:


#include <iostream>
using namespace std;
int avar=10;  //全局变量
int main ()
{
    int avar;  //局部变量
    avar=25;
    cout<<"avar is "<<avar<<endl;
    return 0;
}

在VC中输出结果如下:

avar is 25
Press any key to continue

由此可见,是main函数里面的局部变量的值输出了。所以局部变量的优先级大于全局变量。

那么,我要使用作用域运算符,该如何用呢?

我们来看下面的例子:

#include<iostream>
using namespace std;
int avar;
int main()
{
    int avar;
    avar=11;
    ::avar=10;
    cout<<"局部变量是"<<avar<<endl;
    cout<<"全局变量是"<<::avar<<endl;
	return 0;
}

VC运行结果是:

局部变量是11
全局变量是10
Press any key to continue

 

 

、强制类型转换

就是数据类型之间的转换。

在C中,一般是这个样子的:

int i=10;
double x=(doble)i;

C++ 作为扩充,当然支持C中的表达方式啦,不过C++ 中,又多了一个形式:

C++中相比C,就把位置换了一下,看起来像函数调用那么回事:

int 1=10;
double x=double(i);

不过,在C ++ 中,推荐后者哦!

好了,C++ 的基础部分终于码完了,接下来的一期就是开始进入有C++ 风格的代码了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值