Described smart pointer?, C/C++ Programming

Assignment Help:

A: A smart pointer is a C++ class which mimics a regular pointer in syntax and some semantics, however it does more. Since smart pointers to distinct types of objects tend to have a lot of code in common, approximately all good-quality smart pointers in existence are templated trhough the pointee type, as you can notice in the following code:

template

class SmartPtr

{

public:

explicit SmartPtr(T* pointee) : pointee_(pointee); SmartPtr& operator=(const SmartPtr& other);

~SmartPtr();

T& operator*() const

{

...

return *pointee_;

}

T* operator->() const

{

...

return pointee_;

}

private:

T* pointee_;

...

};

SmartPtr aggregates a particular pointer to T in its member variable pointee_. Most smart pointers do this. In some of the cases, a smart pointer may aggregate some handles to data and compute the pointer on the fly.

The two operators give SmartPtr pointer-like semantics and syntax. i.e., you can write

class Widget

{

public:

void Fun();

};

SmartPtr sp(new Widget);

sp->Fun(); (*sp).Fun();

Sideways from the definition of sp, nothing reveals it since not being a pointer. It is the mantra of smart pointers: You can replace pointer definitions along with smart pointer definitions without incurring major changes to your application's code. Thus you get extra goodies along with ease. Minimizing code changes is extremely appealing and essential for getting large applications to employ smart pointers. However, smart pointers are not a free lunch.


Related Discussions:- Described smart pointer?

Explain the loop statements in computer programming, Explain the Loop State...

Explain the Loop Statements in Computer Programming? 1. C gives you a choice of three kinds of loop, while, do while and for. 2. The while loop remain repeating an action until

Program is to perform string operations, Program is to perform string opera...

Program is to perform string operations: Program is to perform string operation without using in built functions using classes and object void mainmenu()    {    clrs

C++, superposition of two waves

superposition of two waves

Flowcharting, how to create a flowchart? can you help me in my assignment a...

how to create a flowchart? can you help me in my assignment about flowcharting ....

Develop an auto-click bot, What I need is an auto-click bot. The auto-click...

What I need is an auto-click bot. The auto-click bot would ask me for a url(or it would be pre-defined too) so that it loads that specific url and click an ad automatically. This w

Result system, write a promgram using object oriented peramid

write a promgram using object oriented peramid

Cipher: Decrypt and Encrypt, You must write a program that can both decrypt...

You must write a program that can both decrypt and encrypt a single word that is entered by the user. The initial choice of encryption and decryption is left up to the user. Addi

Program to show the ascii value of characters, Program to show the ascii va...

Program to show the ascii value of characters: int main() {                 int one_char;                 cout                 one_char = getch();

Area under curve, progarm in c for area under curve   #include ...

progarm in c for area under curve   #include float start_point, /* GLOBAL VARIABLES */ end_point, total_area; int numtraps;

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd