using的作用

本文详细介绍了C#和C++中using关键字的用途,包括在C#中引用命名空间、创建类型别名以及使用using语句自动释放资源。在C++中,using用于引入基类成员和命名空间。示例代码展示了using在实际操作中的应用。
摘要由CSDN通过智能技术生成
一、两种运用方式:

1.引入命名空间的类库方法,或者命名空间别名;

允许在命名空间中使用类型,这样就不必在该命名空间中限定某个类型的使用: 复制代码 using System.Text; 

为命名空间或类型创建别名。这称为“using 别名指令”。 复制代码 using Project = PC.MyCompany.Project; 


2.资源释放的作用范围:跳出using作用的范围后就会被释放。

  如果一个类实现了接口IDisposable(这个接口只有一个方法void Dispose()),当这个类在using中创建的时候,using代码块结束时会自动调用这个类中实现了接口IDisposable的Dispose()方法;

using有两个主要用途:
作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。
作为语句,用于定义一个范围,在此范围的末尾将释放对象。

二、C++,using的作用范围

cpp内有效,如果在另一个cpp文件中不加的话,编译会出错。如果要在整个工程中有效,可以把using写在头文件中,然后每个源文件都包含该头文件。
三、C++中using的作用
1.在当前文件中引入命名空间

这是我们最熟悉的用法,例如:using namespace std;

2.在子类中使用 using 声明引入基类成员名称(参见C++ primer)

在private或者protected继承时,基类成员的访问级别在派生类中更受限:

复制代码
class Base {
  
public:
std::size_t size() const { return n; }
protected:
std::size_t n;
};
class Derived : private Base { . . . };
复制代码

在这一继承层次中,成员函数 size 在 Base 中为 public,但在 Derived 中为 private。为了使 size 在 Derived 中成为 public,可以在 Derived 的 public
部分增加一个 using 声明。如下这样改变 Derived 的定义,可以使 size 成员能够被用户访问,并使 n 能够被 Derived 的派生类访问:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值