我想定义自己的数据类型,它可以包含六个可能值中的一个,以便了解有关c ++内存管理的更多信息.在数字中,我希望能够保持0到5.二进制,只需要三位(101 = 5)即可,但有些(6和7)不会被使用.数据类型也应尽可能少地占用内存.
我不知道如何做到这一点.首先,我尝试了一个枚举,其中包含所有字段的已定义值.据我所知,这里的值是十六进制的,所以一个"hexbit"应该允许我存储0到15.但是将它与char(与sizeof)进行比较,它表示它是char的4倍大小,并且如果我没有误解,则char保持0到255.
#include <iostream>
enum Foo
{
a = 0x0,
b = 0x1,
c = 0x2,
d = 0x3,
e = 0x4,
f = 0x5,
};
int main()
{
Foo myfoo = a;
char mychar = 'a';
std::cout << sizeof(myfoo); // prints 4
std::cout << sizeof(mychar); // prints 1
return 1;
}
Run Code Online (Sandbox Code Playgroud)
我明显误解了一些事情,但没有看到什么,所以我转向了SO.:)
另外,在写这篇文章时,我意识到我显然缺少词汇的某些部分.我把这篇文章作为一个社区维基,请编辑它,这样我就可以学到正确的单词.
A-star用于查找图中startnode和endnode之间的最短路径.使用什么算法来解决某些问题,目标状态并不是专门知道的,而是我们只有目标状态的标准?
例如,可以用类似Astar的算法解决数独难题吗?我们不知道国家的样子(哪个数字在哪里),但我们知道数独的规则,一个获胜国家的标准.因此,我有一个startnode,只是endnode的标准,使用哪种算法?
我System.Windows.MessageBox.Show()用来向用户显示一个对话框.一次重载让我可以设置使用System.Windows.MessageBoxButton枚举出现的按钮.但是,它似乎缺乏RetryCancel我的谷歌搜索表明它应该具有的选项.
我有一个弹出窗口,向用户显示设置.如果你点击它外面,它隐藏但如果你点击其中它仍然可见.
处理此行为的事件处理程序获取Component(被单击)并通过component.getParent()递归使用我可以检查它是否是我的设置面板的子项.到目前为止这已经奏效了.
但是我刚刚JComboBox在该面板中添加了一个,结果是"可选项弹出"(它有一个名字?)组合框在点击时显示的不是组合框的孩子.尝试在组合框中选择某些内容会隐藏我的设置面板.
使用NetBeans调试器我可以看到它的类型BasicComboPopup$1(是一个匿名类?),但它既不是ComboPopup,JPopupMenu也不是BasicComboPopup.
我需要一种方法来识别被点击的"组合框弹出窗口"的所有者/父组合框.
我有.xml扩展名的文件.使用C#我必须用另一个扩展名打开文件,例如.exe.我可以手动打开"打开方式"选项打开文件.现在我必须使用C#做同样的事情.我怎么做?