- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个名为 error_code
的类。我将它用作 std::map
和 CMap
(MFC) 的键。我能够使其适用于 std::map
,但不适用于 CMap
。我可以知道我该怎么做吗?
// OK!
std::map<error_code, int> m;
m[error_code(123)] = 888;
// error C2440: 'type cast' : cannot convert from 'error_code' to 'DWORD_PTR'
CMap <error_code, error_code&, int, int& > m;
m[error_code(123)] = 888;
class error_code {
public:
error_code() : hi(0), lo(0) {}
error_code(unsigned __int64 lo) : hi(0), lo(lo) {}
error_code(unsigned __int64 hi, unsigned __int64 lo) : hi(hi), lo(lo) {}
error_code& operator|=(const error_code &e) {
this->hi |= e.hi;
this->lo |= e.lo;
return *this;
}
error_code& operator&=(const error_code &e) {
this->hi &= e.hi;
this->lo &= e.lo;
return *this;
}
bool operator==(const error_code& e) const {
return hi == e.hi && lo == e.lo;
}
bool operator!=(const error_code& e) const {
return hi != e.hi || lo != e.lo;
}
bool operator<(const error_code& e) const {
if (hi == e.hi) {
return lo < e.lo;
}
return hi < e.hi;
}
unsigned __int64 hi;
unsigned __int64 lo;
};
最佳答案
快速跟踪显示下面的模板函数导致了错误:
template<class ARG_KEY>
AFX_INLINE UINT AFXAPI HashKey(ARG_KEY key)
{
// default identity hash - works for most primitive values
return (DWORD)(((DWORD_PTR)key)>>4);
}
一个快速修复方法是向用户定义的类型添加隐式转换函数。我不确定将存储什么数据,所以只是随机选择一些属性来形成所需的数据。
class error_code {
...
operator DWORD_PTR() const
{
return hi;
}
...
}
关于c++ - 对象作为 CMap 中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4591579/
我正在尝试创建一个 CMap,它以 CString 作为键,以 CMap 作为值。显然以下内容不起作用,但我不知道它是如何工作的。 CMap, CMap> xyWhatEver; 有人知道如何使用 C
我想要一个 CMap: CMap> 所以我的数据结构将 long 作为一个键,它将重定向到一个值,该值将是其中的 long 的 cmap。 示例:如果我收到“1”,它会将我发送到 CMap。 如果我收
使用 Visual Studio 2012,编译以下内容: void Stuff() { CMap myMap; } 但是当我尝试返回这样的 CMap 时,如下所示: CMap GetEncod
颜色图(contour 和许多其他绘图函数所要求的)和简单的颜色列表之间有什么区别?如何将颜色列表(其中每种颜色应该代表相同大小的步长)转换为颜色图? 最佳答案 颜色图是代表数量概念的一系列颜色。典型
我正在写一段 vimscript 来管理 session 。我想让用户配置他们想要保存 session 的目录,即: let g:sessions_dir = "~/.vim/sessions" 我有
这个问题的灵感来自pheatmap in R中的中断。问题是我是否可以定义我的着色和分箱在seaborn的热图中的“粗糙”程度、连续/离散程度。我找到了一种使用 cmap 和使用的颜色数量(例如 Di
这个问题的灵感来自pheatmap in R中的中断。问题是我是否可以定义我的着色和分箱在seaborn的热图中的“粗糙”程度、连续/离散程度。我找到了一种使用 cmap 和使用的颜色数量(例如 Di
我正在尝试使用颜色图来指示数据集中每个数据点所属的标签。 有3个示例以及对应的标签 X = np.array([[0,0],[1,0],[2,0]]) labels = np.array([0,1,2
我有以下 Python 3 代码,它随时间生成波函数并以 3D 形式绘制结果。请注意,schroedinger1D(...) 函数返回两个 numpy 数组,每个数组的形状为 (36,1000)。 i
我正在尝试使用一些 x、y 和 z 值绘制 matplotlib contourf 图。基本上,z 值将定义绘图的颜色。然而,我现在所在的一个区域(即对我来说重要的区域)与其他区域相比非常小(见图),
以前,我使用 STL 映射来执行上述任务。 struct ltstr { bool operator()(std::string s1, std::string s2) const {
在我的应用程序中,我有一个 CString 值的 CMap。在 Map 中添加元素后,如果我在其他地方检索元素,则不会按插入顺序获取元素。假设我检索第三个元素,我会像那样得到第五个元素。它是 CMap
我有一些形状为 (12,1) 的归一化直方图数据: >>> hnorm array([[ 0. ], [ 0. ], [ 0.011834
我使用“tab20”颜色图在 python 上使用 matplotlib 进行绘图,代码如下: colors=[str(float(year-1980)/(2017-1980)) for i in y
我目前正在使用 PDFKitten 进行 iOS PDF 扫描。我正在尝试提取文本以在具有 Type0 字体的 PDF 中进行搜索。我无法从 PDF 中提取文本。ToUnicode 中的一些条目丢失了
有人能告诉我如何根据特定键获取特定元素吗?假设我有一个 CMap ButtonProp;现在我想访问提供的任何 int 值的属性,该怎么做?附言第一次使用 CMap。 “ButtonProp.Look
AFAIK,CMap::InitHashTable 方法应该在任何元素添加到 map 之前被调用。换句话说,在将第一个元素添加到 CMap 对象后,哈希表的大小无法更改。 同样来自 MSDN,为了尽量
我有一个名为 error_code 的类。我将它用作 std::map 和 CMap (MFC) 的键。我能够使其适用于 std::map,但不适用于 CMap。我可以知道我该怎么做吗? // OK!
我正在尝试将 tex 文档转换为 pdf。 但是当我做 pdflatex doc.tex 时,我得到了 This is pdfTeX, Version 3.14159265-2.6-1.40.16 (
使用此代码生成相关表: df1.drop(['BC DataPlus', 'AC Glossary'], axis=1).corr(method='pearson').style.format("{:
我是一名优秀的程序员,十分优秀!