Home Item 17 - shared_ptr 支援創建動態數組 (中文)
Post
Cancel

Item 17 - shared_ptr 支援創建動態數組 (中文)

支援創建動態數組

C++11 時,std::shared_ptr 尚無支援創建動態數組,忘記的話可以看這篇

C++17 支援了,讓 std::shared_ptr 的功能變得更全面。

code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <memory>

class Resource {
 public:
     Resource() { std::cout << "Resource acquired : " << this << "\n"; }
     ~Resource() { std::cout << "Resource destroyed : " << this << "\n"; }
};

int main() {
    std::cout << "~Enter Scope" <<std::endl;
    {
        std::shared_ptr<Resource[]> res1 = std::make_shared<Resource[]>(3);
    }
    std::cout << "~Leave Scope" <<std::endl;
     return 0;
}

執行結果:

Desktop View

☝ツ☝

This post is licensed under CC BY 4.0 by the author.

👈 ツ 👍