c++:如何获得类似c的属性
c++: how to get c#-like properties
在c++中有可能拥有类似c#的属性吗?一开始我觉得没有,我也没有找到任何声称它有这个的来源。
但我发现了一个头文件(一开始似乎是用c#编写的,但实际上是c++),在该文件中,它似乎用property关键字声明属性:
property Boolean AlphaToCoverageEnable
{
Boolean get()
{
return alphaToCoverageEnable;
}
void set(Boolean value)
{
alphaToCoverageEnable = value;
}
}
我试着在eclipse中使用它,但它不喜欢…有办法做到这一点吗?一个我需要包含的头,或者一个与它如何编译有关的头?
我找到的文件:https://dl.dropbox.com/u/847423/D3D10Structs.h
您看到的是C++/CLI,它是微软对C++的扩展,添加了。网络支持。
C++不支持属性,但您可以通过滥用运算符重载来生成类似属性的东西。
例如,请参见http://msdn.microsoft.com/en-us/magazine/cc534994.aspx
Microsoft C++/CLI对C++语言的扩展似乎支持C#样式的属性,但ANSI标准C++语言不支持。
这是C++/CLI,而不是标准C++。C++/CLI支持属性,因为它旨在与无缝配合。NET概念。
您可以直接在public value struct BlendDescription
类声明中判断——value struct
定义了一个C++/CLI值类型(C#中的struct
)。
我使用了CodeGuru项目中的代码:http://www.codeproject.com/Articles/118921/C-Properties
使用它,我创建了一个包含以下内容的"properties.h"文件:
#define PROPERTY(t,n) __declspec( property
( put = property__set_##n, get = property__get_##n ) ) t n;
typedef t property__tmp_type_##n
#define READONLY_PROPERTY(t,n) __declspec( property (get = property__get_##n) ) t n;
typedef t property__tmp_type_##n
#define WRITEONLY_PROPERTY(t,n) __declspec( property (put = property__set_##n) ) t n;
typedef t property__tmp_type_##n
#define GET(n) property__tmp_type_##n property__get_##n()
#define SET(n) void property__set_##n(const property__tmp_type_##n& value)
示例属性为:
PROPERTY(LatLonAltTuple, LatLonAlt);
GET(LatLonAlt) { return m_LatLonAlt; }
SET(LatLonAlt) { m_LatLonAlt = value; }
相关文章:
- 正在查找文档以获得PS4平台的C++中的设备信息
- 如何从C++中的依赖类型中获得它所依赖的类型
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- 欧拉项目#8答案是大以获得有效答案
- 如何使用C/C++在MacOSX中获得键盘布局
- 函数何时会在c++中包含stack_Unwind_Resume调用
- C++概念:如何使用'concept'检查模板化结构的属性?
- 如何在不产生任何垃圾的情况下获得C中的像素
- 子目录是否继承属性,例如add_definitions,include_directories和父Cmakelist.t
- 有没有一种方法可以在编译时获得作用域类名
- 如何在C++中获得"静态纯虚拟"功能?
- 通过指向指针数组的指针访问子类的属性
- MSVC是否支持C++11样式的属性而不是__declspec
- 精神X3,如何获得属性类型以匹配规则类型
- 从另一类获得与属性相同的类实例
- 如何在客户端上获得GameplayAbility属性的增量值(在属性值更改后)
- 增强精神 - 无法获得属性
- 如何获得RapidJSON模式来处理默认属性
- 如何获得xml属性与此语法使用Qt DOM
- c++:如何获得类似c的属性