天天看點

Windows 8 C++/CX命名空間

如何使用命名空間

在标準C++裡面命名空間是為了防止類型的沖突,但在Windows運作時中,使用C++程式設計需要給所有的程式類型添加上命名空間,這是Windows運作時的一種文法規範。命名空間可以嵌套着使用。

看下面的例子:

namespace Test

{

public ref class MyClass{};

public delegate void MyDelegate();

namespace NestedNamespace

public ref class MyClass2

event Test::MyDelegate^ Notify;

};

}

在MyClass2裡面來使用Test空間下面的類型需要通過Test::來調用。

Windows運作時的命名空間

Windows運作時的API都在Windows::*命名空間裡面,在windows.winmd檔案裡面可以到定義。這些命名空間都是為了Windows保留的,其他第三方自定義的類型不能夠使用這些命名空間。

C++/CX的命名空間

命名空間

描述

default

包含了數字和char16類型。

Platform

包含了Windows運作時的一些主要的類型,如 Array<T>, String, Guid, 和Boolean。也包含了一些特别的幫助類型如Platform::Agile<T> 和Platform::Box<T>.。

Platform::Collections

包含了一些從IVector, Imap等接口中內建過來的的集合類型。這些類型在collection.h 頭檔案中定義,并不是在platform.winmd 裡面。.

Platform::Details

包含了在編譯器裡面使用的類型并不公開來使用。

本文轉自linzheng 51CTO部落格,原文連結:http://blog.51cto.com/linzheng/1078195