#include <vector>
class A {
private:
std::vector<int> v_;
public:
A(int size = 100, int init_val = 100){
for(int i=0; i<size; i++)
v_.push_back(init_val);
}
};
Run Code Online (Sandbox Code Playgroud)
主要是,如果我这样做:
A a(1000, 100);
Run Code Online (Sandbox Code Playgroud)
真的发生了什么?这是我第一次在构造函数中看到硬编码参数!
传递的值将简单地用传递的值替换参数的默认值.
A a;将导致调用A::A(100, 100)A a(5);将导致调用A::A(5, 100)A a(5, 6);将导致调用A::A(5, 6)