小编I.M*_*Mac的帖子

C++中是否存在像Java一样的静态嵌套类?

我经常用java编写,我对C++中的静态嵌套类有点困惑.

我正在尝试声明一个静态类,但是我收到一个错误:

class D
{
    public:

    static class Listener
    {
        public :

        void foo()
        {
            cout << "foo" <<endl;
        }
    };

};
Run Code Online (Sandbox Code Playgroud)

我得到了以下错误

"只能为对象和函数指定存储类"

(我正在使用在线编译器).

c++

6
推荐指数
1
解决办法
2506
查看次数

数据成员int引用

我试图通过引用存储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?

c++ reference pass-by-reference

2
推荐指数
1
解决办法
593
查看次数

交换给定整数中的两位

我看到了一些解决方案,但看起来很复杂。

在n,m个位置的两位之间交换的最有效方法是什么?

int swapBits(int num, int nPostion, int mPosition);
Run Code Online (Sandbox Code Playgroud)

c byte bit-manipulation bit bitwise-operators

-1
推荐指数
1
解决办法
2707
查看次数