问题标签 [flags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
22132 浏览

c# - 任何人都知道缺少枚举通用约束的好方法吗?

我想做的是这样的:我有带有组合标记值的枚举。

那么我可以这样做:

不幸的是,C# 的泛型 where 约束没有枚举限制,只有类和结构。C# 不将枚举视为结构(即使它们是值类型),因此我无法添加这样的扩展类型。

有谁知道解决方法?

0 投票
13 回答
551949 浏览

c# - C# 中的 [Flags] 枚举属性是什么意思?

我不时看到如下枚举:

我不明白该[Flags]属性到底是做什么的。

任何人都可以发布一个很好的解释或示例吗?

0 投票
11 回答
88350 浏览

c# - 如何比较 C# 中的标志?

我在下面有一个标志枚举。

我不能让 if 语句评估为真。

我怎样才能做到这一点?

0 投票
11 回答
176197 浏览

c# - Most common C# bitwise operations on enums

For the life of me, I can't remember how to set, delete, toggle or test a bit in a bitfield. Either I'm unsure or I mix them up because I rarely need these. So a "bit-cheat-sheet" would be nice to have.

For example:

or

Can you give examples of all the other common operations, preferably in C# syntax using a [Flags] enum?

0 投票
8 回答
46712 浏览

sql - 数据库行中的标志,最佳实践

我是出于好奇而问这个的。基本上我的问题是,当你有一个数据库需要一个行条目来拥有像标志一样的东西时,最佳实践是什么?一个很好的例子是堆栈溢出的标记,或者 bugzilla 中的操作系统字段。可以为给定条目设置标志的任何子集。

通常,我做 c 和 c++ 工作,所以我的直觉反应是使用无符号整数字段作为一组可以翻转的位......但我知道这不是一个好的解决方案,原因有几个。其中最明显的是可扩展性,我可以拥有多少个标志会有一个硬性上限。

我还可以想到一些其他解决方案,它们可以更好地扩展,但会出现性能问题,因为它们需要多次选择才能获取所有信息。

那么,这样做的“正确”方法是什么?

0 投票
3 回答
973 浏览

c++ - 应该如何将 C 位标志枚举转换为 C++?

C++ 主要是 C 的超集,但并非总是如此。特别是,虽然 C 和 C++ 中的枚举值都隐式转换为 int,但反之则不然:只有在 C 中,int 才转换回枚举值。因此,通过枚举声明定义的位标志不能正常工作。因此,这在 C 中是可以的,但在 C++ 中则不行:

应该如何有效和正确地处理这个问题,理想情况下不损害使用 Foo 作为变量类型的调试器友好性质(它分解为手表中的组件位标志等)?

还要考虑可能有数百个这样的标志枚举,以及数千个使用点。理想情况下,某种有效的运算符重载可以解决问题,但它确实应该是有效的;我想到的应用程序是受计算限制的,并且以速度快着称。

澄清:我正在将一个大型(>300K)C 程序翻译成 C++,所以我正在寻找运行时和开发时的有效翻译。简单地在所有适当的位置插入石膏可能需要数周时间。

0 投票
7 回答
5023 浏览

user-interface - 对象编辑和 isDirty() 标志

我正在开发一个系统,用户可以通过 GUI 编辑现有对象(准确地说是“过滤”域对象)。作为 UI 提示,我们只希望在用户确实修改了对象的某些内容时启用保存按钮。我想知道是否有人对这个问题有任何经验,以及解决这个问题的最佳方法是什么。

我正在考虑向域对象添加一个 isDirty() 标志。当用户开始编辑过滤器时,我会制作一个副本,将其传递给 GUI 并让用户对副本进行修改。然后,isDirty() 标志上的绑定将启用/禁用保存按钮。保存时,差异将被合并到原始对象中并保持不变。

另外,我在想如果用户撤消他对对象所做的更改会发生什么。然后 isDirty() 标志应该返回 false。所以我想实现这一点的唯一方法是将每个属性的原始值保留在域对象中。

有任何想法吗?

0 投票
3 回答
216 浏览

optimization - 我如何弄清楚 -Ogcc 中的选项?

我似乎记得能够打印出(或定位)每个 -O<num> 选项打开的特定开关。你能提醒一下吗?

谢谢!

0 投票
1 回答
107 浏览

sql - 任何人都知道什么是?

有谁知道 Optional SQL Explain 标志是什么?

0 投票
2 回答
19377 浏览

c++ - Autotools:如何设置全局编译标志

我有一个包含多个源目录的项目:

在每个中,Makefile.am 包含

如何避免在每个源文件夹中重复此操作?

我试图修改 src/Makefile.am 和 configure.in,但没有成功。我以为我可以使用 AC_PROG_CXX 全局设置编译标志,但找不到太多关于如何使用这些宏的文档(你有任何指向此类文档的指针吗?)。

提前致谢