ややプログラム紀行

博士2年のプログラムに関する日記

r-value reference

画像を描画するために、テクスチャーをvectorで積んで、使いやすいようにしようと思い立ち、

どうせならCOMポインターで管理しようと思ったら、とあるエラーが出ました

そのエラーを解決するためにvectorの中身を覗くことになったんですが、英語ばっかで意味が分からない(当たり前っすよね)

で、エラーはvectorの中の、placement newでコピーをしてる部分でした

結論から言うとCOMポインターのほうのコピーコンストラクタの引数にconstをつけてなかったのが原因なんですけど、そのコピーをしてるところで「&&」とかいうのが出てきました

「&&」・・・?なんだそれ、2重参照?

どうやらこれはタイトルで書いてますがr-value reference(日本語では右辺項参照らしいです)とかいうものらしい

こんなの見たことなかったので、理解するのにだいぶ時間がかかりました

rvalue referenceはC++のなかでも理解しにくいほうのものらしくて、いろんな人が解説を書いてくださっていてありがたかったです

まあ理解しきったわけでもないですけどw

明日、vectorを覗いてわかったことでも書こうと思います(たぶんpush_backの仕組みとかです)

P.S.

r-valueで検索してたらwikipediaC++11のページに流れ着いたんですけど、全然知らないものばっかでした

C++11ではnullptrっていうヌルポ専用のものがあるらしい・・・!

ラムダ式とかBoostの世界のものだと思ってました