24得票2回答
C ++ GDB成员函数断点

我在使用GDB调试我的C++程序时遇到了问题。我想为我的类成员函数设置断点,但我不确定如何正确使用语法。目前我的程序工作正常,我只是想学习如何使用GDB。我的问题是,我在线上查找到的所有信息都只涉及一个main()文件,没有其他函数或类,如果涉及类,则仅使用带有void返回语句的函数。 我有一...

11得票2回答
查找成员函数的常数性

如何检测成员函数是否有const修饰符? 考虑以下代码: struct A { int member(); int member() const; }; typedef int (A::*PtrToMember)(); typedef int (A::*PtrToConstMem...

9得票1回答
作为模板参数的引用限定成员函数?

这在clang 3.3中可以编译成功: template <typename T> struct M; template <typename R, typename C, typename... A> struct M <R (C::*)(A...)> ...

8得票3回答
当函数需要改变对象的状态时,是选择成员函数还是友元函数?

在Bjarne Stroustrup的书《C++程序设计语言》中,作者介绍了一个名为Matrix的类,该类必须实现一个函数inv()。在第11.5.1节中,他讨论了两种可能的方法。一种是制作成员函数,另一种是制作友元函数inv()。然后在第11.5.2节末尾,当他谈到选择使用友元函数还是成员函...

8得票2回答
成员访问和模板特化

我有这个类模板。 template <typename T> class Wrapper { public: virtual void parse(std::string s) = 0; protected: T value; }...

13得票3回答
为什么类成员函数会遮盖同名的自由函数?

我最近注意到,成员函数在类内部与完全没有阴影的自由函数具有相同的名称。而且,完全是指所有具有相同名称的自由函数根本不考虑重载分辨率。我可以理解为什么要这样做: void f(); struct S { void f(); void g() { f(...

9得票1回答
std::thread构造函数:传递指针和传递引用有什么区别吗?

在创建调用成员函数的线程时,传递指向当前类的指针和传递引用之间有区别吗? 从下面的示例中,method1的行为是否与method2相同?是否存在任何差异? class MyClass { public: MyClass(){}; ~MyClass(){}; void...

17得票4回答
模板类中的模板成员函数特化

我有一个模板类和一个成员函数print()来打印数据。 template<typename T> class A { public: T data; void print(void) { std::cout << data <&...

47得票3回答
当多个基类具有相同名称的成员函数时,我该如何解决函数调用的歧义问题?

我有一个与C++中的多重继承相关的基本问题。如果我有如下所示的代码: struct base1 { void start() { cout << "Inside base1"; } }; struct base2 { void start() { cout <...

19得票6回答
Python中的非成员函数与成员函数

我对Python相对较新,并且很难将该语言的特性与我在C ++和Java背景下养成的习惯结合起来。 我目前遇到的问题与封装有关,具体而言是Meyer的“Effective C++”中第23项最好概括的一个想法: 优先使用非成员非友元函数而不是成员函数。 暂时忽略缺少friend机...