小编Vin*_*ier的帖子

裸指针的替换/重构

我想在类继承情况下替换传统的裸指针用法。

我的意思的例子:

#include <iostream>
#include <vector>
#include <memory>

using namespace std;

class Base
{
public:
  void doBaseStuff ()
  {
    cout << "base stuff\n";
  }
};

class Derived:public Base
{
public:
  void doDerivedStuff ()
  {
    cout << "derived stuff\n";
  }
};


int main ()
{
 // vector to hold pointers
  vector < Base * >baseCollection;

// generate pointers
  Derived *derivedPtr = new Derived;
  Base* basePtr = new Base;
  
 // use derived pointer for something
  derivedPtr->doDerivedStuff ();
  
 // fill vector with pointers …
Run Code Online (Sandbox Code Playgroud)

c++ smart-pointers

1
推荐指数
1
解决办法
66
查看次数

标签 统计

c++ ×1

smart-pointers ×1