????????????? C++11 ????????????????defaulted ?? deleted ?????????? defaulted ????????????????????????????????????壬????????????????Ч?????????????????????ú???????????????? deleted ?????? ???????????????????????Щ????????????????????????????????????????????????????????????? defaulted ?? deleted ???????÷????洦??
????Defaulted ????
????????????

????C++ ????????????????????????????????????????????????????????????????????????????????Щ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????磺
?????嵥 1
????class X{
????private:
????int a;
????};
????X x;
???????嵥 1 ?У??????????ж????? X ??????????????????????? X ????? x ??????????????? X ????????????????????????????????? X ?????????????????????????????????????в???????????????????壬?? X::X????{ }??????????????????????????????????壬?????????????????????? X ????? x???嵥 1 ?????????????
???????????????????? X ??????????????????????????ж?????????????????嵥 2 ?????????????
?????嵥 2
????class X{
????public:
????X(int i){
????a = i;
????}
????private:
????int a;
????};
????X x;  // ???? ?? ???????? X::X() ??????
?????嵥 2 ????????????????? X ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????磺
?????嵥 3
????class X{
????public:
????X(){};  // ???????????????
????X(int i){
????a = i;
????}
????private:
????int a;
????};
????X x;   // ????????????? X::X() ????
???????嵥 3 ???????????????????????????????????????????????????д????????????????????????????????д??????????????????Ч??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????д???????????????????????????????д????????????????????Ч?????????????????????????????
????Defaulted ?????????
????????????嵥 3 ?????????????1. ???????????????????2. ???????????????????????????????????????Ч???C++11 ???????????????????defaulted ????????????????????????????“=default;”??????ú???????? defaulted ???????????????????????? defaulted ???????????????塣???磺
?????嵥 4
????class X{
????public:
????X()= default;
????X(int i){
????a = i;
????}
????private:
????int a;
????};
????X x;
???????嵥 4 ?У???????????????????????? X::X(){}???ú?????????????????????????????????????Ч???
????Defaulted ??????????
????Defaulted ?????? C++11 ?????????????????????defaulted ?????????????? 1 ?????

????Defaulted ???????÷??????
????Defaulted ?????????????????????????????????????????????????????????磺
?????嵥 5
????class X {
????public:
????int f() = default;      // ???? ?? ???? f() ???? X ????????????
????X(int) = default;       // ???? ?? ?????? X(int?? int) ?? X ????????????
????X(int = 1) = default;   // ???? ?? ???????? X(int=1) ??????????
????};
????Defaulted ?????????????????inline?????壬?????????????out-of-line?????塣???磺
?????嵥 6
????class X{
????public:
????X() = default; //Inline defaulted ????????
????X(const X&);
????X& operator = (const X&);
????~X() = default;  //Inline defaulted ????????
????};
????X::X(const X&) = default;  //Out-of-line defaulted ??????????
????X& X::operator = (const X&) = default;     //Out-of-line defaulted
????// ?????????????
?????? C++ ???????????У??????????????? X ?????????????????????????? X ??????????????????? X ???????????????????????????????????????????????????????????????????????в???????????????????壬?? X::~X????{ }?????磺
?????嵥 7
????class X {
????private:
????int x;
????};
????class Y: public X {
????private:
????int y;
????};
????int main(){
????X* x = new Y;
????delete x;
????}
???????嵥 7 ?У?????????????? X ???????? Y ?????????????????????????? delete ??????? x ?????????????????????????????????????????????????? X ???????????????????????????????? x ??????????????е??????????? int ???????? x????
???????????δ?????????й????????????? delete ?????????????????????? x ???????????????????????????????????? Y ????????????????????????????????????? int ???????? y??