C++中的using指令

C++中的using指令,第1张

using 指令

using 指令有两个用途:

创建命名空间别名(using 别名)。

允许在命名空间中使用类型,例如,不必限定该命名空间中的类型使用(using 指令)。

using [alias = ]class_or_namespace;

其中:

alias(可选)

希望表示命名空间的用户定义符号。之后,您就可以使用 alias 表示命名空间名。

class_or_namespace

希望使用或为其提供别名的命名空间名,或希望为其提供别名的类名。

备注

创建 using 别名以便更易于将标识符限定到命名空间或类。

创建 using 指令,以便在命名空间中使用类型而不必指定命名空间。using 指令不为您提供对可能嵌套在指定命名空间中的任何命名空间的访问。

命名空间分为两类:用户定义的命名空间和系统定义的命名空间。用户定义的命名空间是在代码中定义的命名空间。有关系统定义的命名空间的列表,请参见 NET Framework 文档。

有关其他程序集中的引用方法的示例,请参见创建和使用 C# DLL。

示例

下面的示例显示了如何为命名空间定义和使用 using 别名:

// cs_using_directivecs

using MyAlias = MyCompanyProjNested; // define an alias to represent a namespace

namespace MyCompanyProj

{

public class MyClass

{

public static void DoNothing()

{

}

}

namespace Nested // a nested namespace

{

public class ClassInNestedNameSpace

{

public static void SayHello()

{

SystemConsoleWriteLine("Hello");

}

}

}

}

public class UnNestedClass

{

public static void Main()

{

MyAliasClassInNestedNameSpaceSayHello(); // using alias

}

}

输出

Hello

示例

下面的示例显示了如何为类定义 using 指令和 using 别名:

// cs_using_directive2cs

using System; // using directive

using AliasToMyClass = NameSpace1MyClass; // using alias for a class

namespace NameSpace1

{

public class MyClass

{

public override string ToString()

{

return "You are in NameSpace1MyClass";

}

}

}

namespace NameSpace2

{

class MyClass

{

}

}

namespace NameSpace3

{

using NameSpace1; // using directive

using NameSpace2; // using directive

class Test

{

public static void Main()

{

AliasToMyClass somevar = new AliasToMyClass();

ConsoleWriteLine(somevar);

}

}

}

输出

You are in NameSpace1MyClass

namespace,翻译过来就是名字空间,是c++中的概念,其实现在好多语言都是这个概念

QT Creator生成的UI貌似都有这个东西,对于短小的程序作用不大,都删掉也没有关系

最好看看c++ primer之类的书,上面讲得很清楚的

基本概念如下:

namespace是用来解决C++的名字冲突问题的

名字空间名必需是唯一的,否则必需在它们的外面再套上一层名字空间,名字空间可以和类一样的嵌套使用

同名类在声明实例时必需加上名字空间作用域符“名字空间名::类名”

不一定只有类才可加上名字空间的外套,其它如,局部变量、全局变量等都可加上名字空间外套。

以上就是关于C++中的using指令全部的内容,包括:C++中的using指令、QT 中namespace的作用、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9486857.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存