为什么控制台在 C++/CLI 中需要两个冒号?
Why does console need two colons in C++/CLI?
在 C# 中,我们这样做:
Console.WriteLine("C#");
在 C++/CLI 中,我们使用此语法来使用控制台对象。
Console::WriteLine("C++ CLI");
我们在两个地方都使用了 .NET 对象 Console
那么为什么我们在 C# 项目中使用点 (.) 访问其成员函数 WriteLine()
但在 C++/CLI 项目中使用两个冒号?
一本关于 C++/CLI 的书说 Console
是 System
命名空间中的 class 那么为什么要使用 :: 运算符?是不同的 consol
e class 在一起吗? system
命名空间是否也与 C# 中的命名空间不同?如果是这样,为什么他们给它取了同样的名字?
这是因为 WriteLine 是一个静态方法:
// C#
public static void WriteLine (string value);
和scope resolution operator ::
用于在C++中调用静态方法
见How do I call a static method of another class (in C++)
在 C# 中,我们这样做:
Console.WriteLine("C#");
在 C++/CLI 中,我们使用此语法来使用控制台对象。
Console::WriteLine("C++ CLI");
我们在两个地方都使用了 .NET 对象 Console
那么为什么我们在 C# 项目中使用点 (.) 访问其成员函数 WriteLine()
但在 C++/CLI 项目中使用两个冒号?
一本关于 C++/CLI 的书说 Console
是 System
命名空间中的 class 那么为什么要使用 :: 运算符?是不同的 consol
e class 在一起吗? system
命名空间是否也与 C# 中的命名空间不同?如果是这样,为什么他们给它取了同样的名字?
这是因为 WriteLine 是一个静态方法:
// C#
public static void WriteLine (string value);
和scope resolution operator ::
用于在C++中调用静态方法
见How do I call a static method of another class (in C++)