Hands-On System Programming with C++ by Dr. Rian Quinn

Hands-On System Programming with C++ by Dr. Rian Quinn

Author:Dr. Rian Quinn [Dr. Rian Quinn]
Language: eng
Format: epub
Tags: COM051070 - COMPUTERS / Programming Languages / C++, COM046070 - COMPUTERS / Operating Systems / Linux, COM051240 - COMPUTERS / Software Development and Engineering / Systems Analysis and Design
Publisher: Packt
Published: 2018-12-26T06:35:46+00:00


int main()

{

auto ptr = std::make_shared<int>();

if (ptr) {

std::cout << "before: " << ptr.get() << '
';

}

ptr.reset();

if (ptr) {

std::cout << "after: "<< ptr.get() << '
';

}

}

// > g++ -std=c++17 scratchpad.cpp; ./a.out

// before: 0x55ac226b5e80

As shown in the preceding example, when the reset() function is called, the pointer is no longer valid, as the smart pointer's internally-managed object is now pointing to nullptr, and thus, the Boolean operator returns false. Since there are no other copies of std::shared_ptr{} (that is, the managed object's count is 0), the allocated pointer is also released back to the heap.

Like std::unique_pt{}r, both the * and -> operators are provided to dereference std::shared_ptr{} (but no subscript operator since arrays are not supported):



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.