

以下のコードが何をしてるのか分かりましたら具体的に教えて下さい。

`std::sheard_ptr<std::vector<std::sheard_ptr<RxInfos>>> rxinfo;`


CC BY-SA 3.0
2017-11-27T09:31:50.373
39940
2017-11-30T02:59:25.307
2017-11-30T02:58:18.713
19110
26348
question
c++
標準ライブラリが入り混じったコードの意味が知りたい


[cpprefjp](https://cpprefjp.github.io/reference/memory/shared_ptr.html) から
`std::shared_ptr` の解説を引用します。

> `shared_ptr` は、指定されたリソースへの所有権(ownership)を共有(share)するスマートポインタである。

このもとで、ご提示のソースは「`RxInfo` への `shared_ptr` のベクターへの `shared_ptr`」を宣言しています
(`RxInfos` が具体的に何なのかは知りませんが……)。


CC BY-SA 3.0
2017-11-30T02:56:57.443
39943
2017-11-30T02:56:57.443
19110
39940
answer


「何をしているか」については「変数」を用意しているだけですが、  
こういった、込み入った型は、typedefかusingを使って  
分解してみるとわかりやすいかもしれません。自分はたいていそうしてます。

[code]

    //std::shared_ptr<std::vector<std::shared_ptr<RxInfos>>> rxinfo;　を分解すると・・
    using   RxInfos_Ptr = std::shared_ptr<RxInfos>;
    using   RxInfos_Ptr_Vct = std::vector<RxInfos_Ptr>;
    using   RxInfos_Ptr_Vct_Ptr = std::shared_ptr< RxInfos_Ptr_Vct>;
    RxInfos_Ptr_Vct_Ptr rxinfo;//最終的にはこれ
    
[/code]


CC BY-SA 3.0
2017-11-30T02:59:25.307
39944
2017-11-30T02:59:25.307
3793
39940
answer