草庐IT

c++ - 运算符为枚举重载

是否可以为枚举定义运算符?例如,我的类(class)中有枚举月份,我希望能够编写++my_month。谢谢附言为了避免溢出,我做了这样的事情:voidDate::add_month(){switch(my_month_){caseDec:my_month_=Jan;add_year();break;default:++my_month_;break;}} 最佳答案 是的,你可以:enumMonth{January,February,//...snip...December};//prefix(++my_month)Month&ope

c++ - 在 C++ 中使用 cflags枚举

我有一个像这样定义枚举的CAPI:typedefenum{C_ENUM_VALUE_NONE=0,C_ENUM_VALUE_APPLE=(1有一个使用枚举的方法,定义为:voiddo_something(CEnumTypetypes);在C中,您可以这样调用:do_something(C_ENUM_VALUE_APPLE|C_ENUM_VALUE_BANANA);但是,如果您尝试在C++(Linux、g++编译器)中以这种方式调用它,则会出现错误,从“int”到“CEnumType”的无效转换。从我的C++应用程序使用此CAPI的正确方法是什么? 最佳答案

c# - Win10中的EnumWindows函数只枚举桌面应用

documentation在EnumWindows下划线:NoteForWindows8andlater,EnumWindowsenumeratesonlytop-levelwindowsofdesktopapps.“桌面应用”和“非桌面应用”有什么区别?这与metro应用有关吗?我问是因为EnumWindows在Win10和Win7中表现有些不同。 最佳答案 另一种解决方案是使用win32u.dll中未记录的api,它具有原型(prototype):NTSTATUSWINAPINtUserBuildHwndList(HDESKin

c# - 如何在不使用环境枚举的情况下在 C# 中以编程方式解析环境变量?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:ExpandenvironmentvariableforMyDocuments我们经常在WindowsXp、7、Vista、Server2003-2008R2以及可能在未来的Windows版本中的命令提示符中使用%%分隔的环境变量。例子是:%windir%%systemroot%%temp%我需要能够使用C#以编程方式解析这些环境变量。请不要建议Environmen.SpecialFolder,因为我正在从上述格式的网络服务中获取值,我需要能够以编程方式解析它们并确定这些路径在服务器上的物理位置。我的场景是一

enums - 在 Kotlin 中直接引用枚举实例,无需类

在Kotlin中,当E与我使用其实例的代码位于同一文件中时,我无法直接引用枚举的实例:enumclassE{A,B}我想做什么:vale=A我能做什么:vale=E.A这可能吗? 最佳答案 是的,这是可能的!在Kotlin中,可以像大多数其他东西一样导入枚举实例,因此假设枚举类E在默认包中,您只需将importE.*添加到源文件的顶部即可想直接使用它的实例。例如:importE.*vala=A//nowtranslatestoE.A每个实例也可以单独导入,而不是只导入枚举中的所有内容:importE.AimportE.B//etc.

enums - 在 Kotlin 中直接引用枚举实例,无需类

在Kotlin中,当E与我使用其实例的代码位于同一文件中时,我无法直接引用枚举的实例:enumclassE{A,B}我想做什么:vale=A我能做什么:vale=E.A这可能吗? 最佳答案 是的,这是可能的!在Kotlin中,可以像大多数其他东西一样导入枚举实例,因此假设枚举类E在默认包中,您只需将importE.*添加到源文件的顶部即可想直接使用它的实例。例如:importE.*vala=A//nowtranslatestoE.A每个实例也可以单独导入,而不是只导入枚举中的所有内容:importE.AimportE.B//etc.

java - Firebase:在 Kotlin/Java 中使用枚举字段的干净方式?

我在firebase上的数据使用了许多具有字符串类型的字段,但实际上是枚举值(我检查了我的验证规则)。要将数据下载到我的Android应用程序中,followingtheguide,该字段必须是基本的String.我知道我可以使用作为枚举的第二个(排除的)字段来解决这个问题,并根据字符串值进行设置。一个简短的例子:classUserData:BaseModel(){valemail:String?=nullvalid:String=""valcreated:Long=0//...morefieldsomittedforclarity@ExcludevarweightUnitEnum:W

java - Firebase:在 Kotlin/Java 中使用枚举字段的干净方式?

我在firebase上的数据使用了许多具有字符串类型的字段,但实际上是枚举值(我检查了我的验证规则)。要将数据下载到我的Android应用程序中,followingtheguide,该字段必须是基本的String.我知道我可以使用作为枚举的第二个(排除的)字段来解决这个问题,并根据字符串值进行设置。一个简短的例子:classUserData:BaseModel(){valemail:String?=nullvalid:String=""valcreated:Long=0//...morefieldsomittedforclarity@ExcludevarweightUnitEnum:W

c++ - 如何枚举进程中所有命名管道的名称?

我需要打开某个命名管道以便对其进行模糊测试,但是我的测试代码无法访问用于生成命名管道名称的相同数据。但是我可以识别管道的名称,然后使用该名称打开管道进行模糊测试。我使用这个论坛帖子开始枚举系统上句柄的名称:http://forum.sysinternals.com/howto-enumerate-handles_topic18892.html但是由于某些原因,它似乎不适用于命名管道。TL;DR:我需要使用哪些API来列出Windows上当前进程中所有命名管道的名称? 最佳答案 这将枚举系统中的所有命名管道,或者至少让您朝着正确的方向

c++ - 枚举 Windows 注册表项中的所有子项和值

我正在尝试编写一个Windows应用程序,它可以返回给定特定键的所有子键和值。我编写的代码似乎可以在给定键内提供子键,但不能正确枚举值;它成功地枚举了没有值的子项,并以选项卡式树排列的形式返回结果。但是,在枚举值时,程序会为每个存在的值返回一个随机值(每次都是相同的随机值),然后程序会因调试错误而崩溃。它的预期输出基本上是:(1)KEY(1)SUBKEY(1)SUBKEYWITHINSUBKEYCode:value1dataCode:value2dataCode:value3data(2)SUBKEY(1)SUBKEYWITHINSUBKEY(3)SUBKEY...等等。我得到的输出是