小编Kac*_*kao的帖子

多次向std :: vector添加相同的值(重复)

我想多次向std :: vector添加一个值.例如,将向量值1添加到向量中五次:

std::vector<int> vec;
vec.add(1, 5);
Run Code Online (Sandbox Code Playgroud)

之后vec的格式应为{1,1,1,1,1}.有一个干净的c ++方法吗?

c++ vector std

21
推荐指数
3
解决办法
1万
查看次数

Visual Studio:关闭窗口不起作用的快捷方式

我更改了快捷方式以关闭一个窗口到Ctrl+ W并关闭所有窗口到Ctrl+ Shift+ W.关闭所有窗口工作正常,但Ctrl+W选择当前光标下的单词但不关闭窗口.

当我右键单击一个标签时,它表示Ctrl+ W是关闭它的快捷方式(还有Ctrl+ S保存和Ctrl+ Shift+ W关闭全部).为什么只有关闭窗口快捷方式不起作用?

shortcut visual-studio

16
推荐指数
2
解决办法
5032
查看次数

在Visual Studio中更改(使用旧版本)c ++版本

是否可以在Visual Studio中使用旧版本而不是c ++ 11?一个类似的问题显示,不可能使用更新的版本,但是当我使用仅适用于c ++ 11的语言功能时,我希望编译器抱怨.

c++ c++11 visual-studio-2013

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

C++ 包装类的设计

我必须使用一个界面非常笨拙的旧类。由于我无法更改它并且依赖它,因此我想构建一个包装器,提供一个干净的界面。假设我有一堂课ClumsyClass。基本上,我有三种方法:

1. 参考会员

    Class Wrapper {
      public:
        Wrapper (ClumsyClass& clumsyClass)
          : m_clumsyClass(clumsyClass)
        { }

        int getSmth() {
          return m_clumsyClass.getSmth();
        }

        private:
          ClumsyClass& m_clumsyClass;
}
Run Code Online (Sandbox Code Playgroud)

2. 指针成员

    Class Wrapper {
      public:
        Wrapper (ClumsyClass* clumsyClass)
          : m_clumsyClass(clumsyClass)
        { }

        int getSmth() {
          return m_clumsyClass->getSmth();
        }

        private:
          ClumsyClass* m_clumsyClass;
}
Run Code Online (Sandbox Code Playgroud)

3、继承

    Class Wrapper : public ClumsyClass {
    ...
}
Run Code Online (Sandbox Code Playgroud)

哪种方法是实现包装器的“最干净”方法?我更喜欢第三个,但是当我已经有一个 ClumsyClass 对象然后创建一个 Wrapper 对象(复制构造函数)时,将需要更多内存(因为在我的情况下需要原始类的实例)。

c++ design-patterns wrapper

3
推荐指数
1
解决办法
7273
查看次数