小编Ant*_*ton的帖子

copy & copy_if vs remove_copy & remove_copy_if

我试图找到 copy(copy_if) 和 remove_copy(remove_copy_if) stl 算法之间的任何区别,但似乎没有任何实际区别,而不是:

remove_copy 算法中的源和目标范围不能重叠

这些算法真的有任何显着和实际的区别吗?

c++ algorithm

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

静态成员声明c ++ 11

我创建了一个带有静态字段的基本IBasic接口

class IBasic
{
public:
    IBasic();
    virtual ~IBasic();

    static std::vector< std::vector<char> > Field;
};
Run Code Online (Sandbox Code Playgroud)

从哪个继承类继承:

class Inherit : public IBasic
{
public:
    Inherit(int);
    ~Inherit();
    void Foo();
};
Run Code Online (Sandbox Code Playgroud)

Inherit类使用构造函数/或成员函数中的Field静态成员进行一些操作.为了创建Inherit类的实例,我们需要在main函数之前在main.cpp中显式声明一个静态字段:

#include "Basic.h"
#include "Inherit.h"

std::vector< std::vector<char> > IBasic::Field;

int main()
{
    Inherit(10);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

问题是:

  1. 静态方法实际存在于什么名称空间中(全局?)?因为我知道静态字段/函数实际上不是类成员.
  2. 是否有另一种方法来声明这个静态方法,例如,在类文件中,在main函数内,还是通过创建未命名的命名空间?它只是一个正确的变体吗?
  3. 怎么样对吗?首先应该考虑什么?

c++ inheritance static-members c++11

0
推荐指数
1
解决办法
153
查看次数

标签 统计

c++ ×2

algorithm ×1

c++11 ×1

inheritance ×1

static-members ×1