????????????? 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??