C++学習メモ

1453 ワード

長い間技術のブログを書いていないで、年後に来てあまりプログラミングの仕事がなくて、このようにずっと荒廃して今まで、強烈な離職の衝動は私の心の中にあふれて、しかしまたこのように行ってしまったことを甘んじないで、ゆっくりと1年のゲームをしてまだオンラインになっていないで、もしこのように行ってしまったら本当にむだに游びました!この年を回想して、ゲームは何度も改版して、何度もひっくり返して、自分もプログラミングの半年だけあって、それから半年游びました!最近特に荒廃して、毎日出勤してゲームをして、ニュースを見て、微博を游んで、とても心地よいようで、しかし誰が私の心の中の空虚を知っています!
この时间はC++を复习して勉强して、大学で学んだことがありますが、先生に返すのは悪くありません.今复习しても、あまり难しくありません.ただ、知识の点が多すぎて、全面的に掌握したいのは不可能です.C++の基础教材を见终わって、最近Effective C++を见て、よく话しています.次の记录はJavaとは违います.
     
#include<iostream>
using namespace std;
 
class Stu{
public:
       Stu(){
              cout<<"init"<<endl;       
       }
       Stu(Stu &s){
               cout<<"copy constructor"<<endl;        
       }
       ~Stu(){
              cout<<"deconstructor"<<endl;       
       }
private:
       string s1;
       string s2;      
};
Stu getstu(Stu s){return s;};
int main(){
    Stu s1;
    getstu(s1);
    //system("pause");
    return 0;    
}

このコードの実行時の結果は何ですか?
 
と書く
init
copy constructor
copy constructor
deconstructor
deconstructor
deconstructor
驚いたでしょうが、Javaではオブジェクトは一度しか作成されず、関数のパス値はすべて参照で、C++ではオブジェクトのコピーコピーコピーコピーになり、戻ってもコピーになるので、1回、コピー構造2回の結果になりました.C++ではオブジェクトの値が参照されていることがわかります.