小编Gor*_*vic的帖子

缓存行刷新是否将整行写入内存?

当脏高速缓存行被刷新(由于任何原因)时,整个高速缓存行是否写入内存或 CPU 跟踪哪些字被写入并减少内存写入次数?

如果这在不同架构之间有所不同,我主要有兴趣了解 Blackfin 的这一点,但很高兴听到 x86、ARM 等方面的实践......

assembly caching flush

5
推荐指数
1
解决办法
1405
查看次数

C++ 重载解析、转换运算符和 const

在这种情况下

void f(int *);
void f(const int *);
...
int i;
f(&i);
Run Code Online (Sandbox Code Playgroud)

情况很清楚 - f(int *) 被调用,这似乎是正确的。

但是,如果我有这个(错误地这样做了(*)):

class aa
{
public:
    operator bool() const;
    operator char *();
};

void func(bool);

aa a;
func(a);
Run Code Online (Sandbox Code Playgroud)

运算符 char *() 被调用。我不明白为什么这样的决策路径比使用 operator bool() 更好。有任何想法吗?

(*) 如果将 const 添加到第二个运算符,则代码当然会按预期工作。

c++ overloading conversion-operator language-lawyer const-method

4
推荐指数
1
解决办法
515
查看次数