相关疑难解决方法(0)

除了允许变量被const函数修改之外,'mutable'关键字是否有任何其他用途?

前段时间我遇到了一些用mutable关键字标记类的成员变量的代码.据我所知,它只是允许您修改const方法中的变量:

class Foo  
{  
private:  
    mutable bool done_;  
public:  
    void doSomething() const { ...; done_ = true; }  
};
Run Code Online (Sandbox Code Playgroud)

这是这个关键字的唯一用途,还是有更多的东西比它的眼睛?我已经在一个类中使用了这个技术,标记为一个boost::mutex可变的允许const函数为了线程安全的原因锁定它,但是,说实话,这感觉有点像黑客.

c++ mutable keyword

511
推荐指数
12
解决办法
21万
查看次数

你应该使用受保护的成员变量吗?

你应该使用受保护的成员变量吗?有什么优势,这会带来什么问题?

oop protected

94
推荐指数
7
解决办法
6万
查看次数

为什么面向对象的"私有"方法?

我知道这是oops中一个非常基本的概念.但我仍然无法理解.我理解为什么成员变量是私有的,因此类用户不能通过设置无效值来滥用它.

但这怎么能适用于这些方法呢?

oop encapsulation

44
推荐指数
5
解决办法
4万
查看次数

受保护和私有有什么区别?

可能重复:
私有和受保护的成员:C++

我不明白受保护成员或私有成员或方法之间的区别,因为我认为它们都会隐藏成员或从类外部访问的函数.

protected和private关键字有什么区别?

c++ oop private class protected

34
推荐指数
5
解决办法
8万
查看次数

受保护与私人析构函数

C++中的protected和private析构函数之间有什么区别吗?如果基类析构函数是私有的,我想在删除派生类对象时仍然会调用它.

c++

28
推荐指数
4
解决办法
3万
查看次数

PyQT线程最简单的方法

我在PyQt中有一个带有函数的GUI addImage(image_path).很容易想象,当应该将新图像添加到QListWidget中时调用它.为了检测文件夹中的新图像,我使用threading.Threadwith watchdog来检测文件夹中的文件更改,然后该线程addImage直接调用.

QPixmap由于线程安全的原因,这会产生不应在gui线程外部调用的警告.

使线程安全的最佳和最简单的方法是什么?QThread的?信号/插槽?QMetaObject.invokeMethod?我只需要从线程传递一个字符串addImage.

python qt pyqt thread-safety python-watchdog

8
推荐指数
2
解决办法
2万
查看次数

在派生类中无法访问受保护的成员

为什么基类中的受保护成员在派生类中无法访问?

class ClassA
{
public:
    int publicmemberA;

protected:
    int protectedmemberA;

private:
    int privatememberA;

    ClassA();
};

class ClassB : public ClassA
{
};

int main ()
{
    ClassB b;
    b.protectedmemberA; // this says it is not accesible, violation?
    //.....
}
Run Code Online (Sandbox Code Playgroud)

c++ inheritance protected private-members

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

有关其在C#(和其他语言)中的内存占用的私有方法和属性与公共方法和属性

我记得我最近与一位开发人员就私人与公共财产的记忆足迹进行的讨论.我说私人的足迹少于公共足迹.他声称这没什么区别.顺便说一下,我们在讨论C#.

谁是对的,为什么?

显然,语言存在差异.我很好奇它们是什么.

c# memory properties

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