31:这几题都是举例使用动态内存管理类,多是代码,多写写
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
class Hasptr1
{
friend void swap(Hasptr1&,Hasptr1&);
friend bool operator<(const Hasptr1& s1,const Hasptr1& s2);
friend void show(vector<Hasptr1>& vec);
public:
//构造函数,初始化相关成员
Hasptr1(const string& s = string()):ps(new string(s)),i(0),use(new size_t(1)){}
//拷贝构造函数,将引用计数也拷贝过来,并且递增引用计数
Hasptr1(const Hasptr1& p):ps(p.ps),i(p.i),use(p.use){++*use;}
//拷贝赋值运算符
Hasptr1& operator= (const Hasptr1& p1)
{
++*p1.use;/

本文提供了C++ Primer第五版第十三章关于动态内存管理的习题解答,涵盖类指针管理、拷贝控制和拷贝构造函数的应用。讨论了如何在不同情况下正确地使用动态内存,以及拷贝控制对含有动态内存的对象的影响。
订阅专栏 解锁全文
6617

被折叠的 条评论
为什么被折叠?



