我经常用java编写,我对C++中的静态嵌套类有点困惑.
我正在尝试声明一个静态类,但是我收到一个错误:
class D
{
public:
static class Listener
{
public :
void foo()
{
cout << "foo" <<endl;
}
};
};
Run Code Online (Sandbox Code Playgroud)
我得到了以下错误
"只能为对象和函数指定存储类"
(我正在使用在线编译器).
我试图通过引用存储int作为类的数据成员.我期望通过引用对象获取int比如果我从外部增加引用它增加对象内部的值.
class A
{
private :
int& x;
public:
A(int y) : x(y)
{
cout << "A's ctor x = " << x << endl;
}
void print()
{
cout << "x = " << x << endl;
}
};
int main()
{
int i = 8;
A a(i);
a.print();
++i;
a.print();
}
Run Code Online (Sandbox Code Playgroud)
输出是:
A's ctor x = 8
x = 8
x = 8
Run Code Online (Sandbox Code Playgroud)
为什么x不是9?
我看到了一些解决方案,但看起来很复杂。
在n,m个位置的两位之间交换的最有效方法是什么?
int swapBits(int num, int nPostion, int mPosition);
Run Code Online (Sandbox Code Playgroud)