我想多次向std :: vector添加一个值.例如,将向量值1添加到向量中五次:
std::vector<int> vec;
vec.add(1, 5);
Run Code Online (Sandbox Code Playgroud)
之后vec的格式应为{1,1,1,1,1}.有一个干净的c ++方法吗?
我更改了快捷方式以关闭一个窗口到Ctrl+ W并关闭所有窗口到Ctrl+ Shift+ W.关闭所有窗口工作正常,但Ctrl+W选择当前光标下的单词但不关闭窗口.
当我右键单击一个标签时,它表示Ctrl+ W是关闭它的快捷方式(还有Ctrl+ S保存和Ctrl+ Shift+ W关闭全部).为什么只有关闭窗口快捷方式不起作用?
是否可以在Visual Studio中使用旧版本而不是c ++ 11?一个类似的问题显示,不可能使用更新的版本,但是当我使用仅适用于c ++ 11的语言功能时,我希望编译器抱怨.
我必须使用一个界面非常笨拙的旧类。由于我无法更改它并且依赖它,因此我想构建一个包装器,提供一个干净的界面。假设我有一堂课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 对象(复制构造函数)时,将需要更多内存(因为在我的情况下需要原始类的实例)。