当前位置: 首页 > news >正文

合肥做网站汇站网怎么找平台推广自己的产品

合肥做网站汇站网,怎么找平台推广自己的产品,做的网站有广告图片,个人主页网页设计免费重点: 1.引用计数在堆上(原本应为原子变量) 2.引用计数增加减少需要加锁保证线程安全。 3.内部实现Release函数用于释放资源 4.未实现,增加自定义删除器可以将Release修改为模板函数,传入可调用参数。对于shared_p…

重点:

1.引用计数在堆上(原本应为原子变量)

2.引用计数增加减少需要加锁保证线程安全。

3.内部实现Release函数用于释放资源

4.未实现,增加自定义删除器可以将Release修改为模板函数,传入可调用参数。对于shared_ptr,删除器应当作为构造函数参数传入。故而成员函数需要有std::function对象。

#ifndef SHARED_PTR_SHARED_PTR_H
#define SHARED_PTR_SHARED_PTR_H
#include <mutex>template<typename T>
class Shared_ptr{
public:Shared_ptr(T * row) :_row_ptr(row),_ref_count(new int(1)),_ref_mux(new std::mutex){}~Shared_ptr(){ release(); }//拷贝构造Shared_ptr(const Shared_ptr<T> &sp) :_row_ptr(sp._row_ptr),_ref_count(sp._ref_count),_ref_mux(sp._ref_mux){ add_ref(); }//拷贝赋值Shared_ptr<T>& operator=(const Shared_ptr<T> &sp){if (this->_row_ptr != sp._row_ptr){release();  //释放管理的旧资源_row_ptr = sp._row_ptr;_ref_count = sp._ref_count;_ref_mux = sp._ref_mux;add_ref();}return *this;}public:int& use_count(){ return *_ref_count; }T& operator*(){ return *_row_ptr; }T* operator->(){ return _row_ptr; }T* get(){ return _row_ptr; };void reset(T *sp){if (this->_row_ptr != sp){release();  //释放旧资源,减少引动计数_row_ptr = sp;_ref_count = new int(1);_ref_mux = new std::mutex;} elseadd_ref();}private:T *_row_ptr;int *_ref_count;std::mutex *_ref_mux;//减少引用计数或释放内存void release(){std::unique_lock<std::mutex> lock(*_ref_mux);if (--(*_ref_count) == 0){delete _row_ptr;delete _ref_count;_row_ptr = nullptr; //避免悬空指针_ref_count = nullptr;}}//保证线程安全的前提下加锁增加引用计数void add_ref(){std::unique_lock<std::mutex> lock(*_ref_mux);++(*_ref_count);}
};#endif //SHARED_PTR_SHARED_PTR_H

测试程序:

#include <iostream>
#include <string>
#include "Shared_ptr.h"int main() {Shared_ptr<std::string> ptr1(new std::string("hello"));Shared_ptr<std::string> ptr2(ptr1);std::cout << "ptr2 use_count = " << ptr2.use_count() << "ptr1 use_count = " << ptr1.use_count() << std::endl;Shared_ptr<std::string> ptr3 = ptr2;std::cout << "ptr3 use_count = " << ptr3.use_count() << std::endl;std::cout << *ptr2 << std::endl;auto str = new std::string("ni hao");ptr2.reset(str);std::cout << *ptr2 <<" ptr2 usecount = " << ptr2.use_count() << std::endl;std::cout << ptr1.use_count() << std::endl;return 0;
}


文章转载自:
http://glissandi.rkdw.cn
http://ascension.rkdw.cn
http://palmary.rkdw.cn
http://bulbous.rkdw.cn
http://agriology.rkdw.cn
http://indiscernible.rkdw.cn
http://pharmacodynamic.rkdw.cn
http://unemotionality.rkdw.cn
http://amyotonia.rkdw.cn
http://nebbich.rkdw.cn
http://scripture.rkdw.cn
http://spoilt.rkdw.cn
http://mix.rkdw.cn
http://immoderacy.rkdw.cn
http://multiplicable.rkdw.cn
http://ensate.rkdw.cn
http://whetstone.rkdw.cn
http://rheology.rkdw.cn
http://hydrate.rkdw.cn
http://tacan.rkdw.cn
http://hitlerite.rkdw.cn
http://aquacade.rkdw.cn
http://anuric.rkdw.cn
http://berylliosis.rkdw.cn
http://cockpit.rkdw.cn
http://prefectorial.rkdw.cn
http://berwickshire.rkdw.cn
http://multipole.rkdw.cn
http://botany.rkdw.cn
http://underglaze.rkdw.cn
http://chalcid.rkdw.cn
http://license.rkdw.cn
http://relationship.rkdw.cn
http://pullus.rkdw.cn
http://improvisator.rkdw.cn
http://underlaid.rkdw.cn
http://snuffle.rkdw.cn
http://strut.rkdw.cn
http://chemism.rkdw.cn
http://summand.rkdw.cn
http://rumple.rkdw.cn
http://kersey.rkdw.cn
http://implosive.rkdw.cn
http://nominatival.rkdw.cn
http://brahmacharya.rkdw.cn
http://stirrer.rkdw.cn
http://colourbearer.rkdw.cn
http://edb.rkdw.cn
http://humoral.rkdw.cn
http://profitless.rkdw.cn
http://derious.rkdw.cn
http://verminate.rkdw.cn
http://aidman.rkdw.cn
http://feminist.rkdw.cn
http://elbowy.rkdw.cn
http://afghanistani.rkdw.cn
http://erigeron.rkdw.cn
http://aeolic.rkdw.cn
http://whitesmith.rkdw.cn
http://insatiate.rkdw.cn
http://chloroplatinic.rkdw.cn
http://superterrestrial.rkdw.cn
http://catbird.rkdw.cn
http://rheotaxis.rkdw.cn
http://thymectomize.rkdw.cn
http://immotility.rkdw.cn
http://prickspur.rkdw.cn
http://haidarabad.rkdw.cn
http://bant.rkdw.cn
http://notchback.rkdw.cn
http://solfeggio.rkdw.cn
http://motorama.rkdw.cn
http://moldproof.rkdw.cn
http://wakamatsu.rkdw.cn
http://bale.rkdw.cn
http://vlsm.rkdw.cn
http://psychologue.rkdw.cn
http://carrageen.rkdw.cn
http://dogfight.rkdw.cn
http://applicably.rkdw.cn
http://adoptionism.rkdw.cn
http://altar.rkdw.cn
http://enslavement.rkdw.cn
http://aeneas.rkdw.cn
http://tympanist.rkdw.cn
http://ammonic.rkdw.cn
http://electroshock.rkdw.cn
http://sainfoin.rkdw.cn
http://emendator.rkdw.cn
http://engird.rkdw.cn
http://premeiotic.rkdw.cn
http://perish.rkdw.cn
http://unframed.rkdw.cn
http://emphraxis.rkdw.cn
http://idiosyncracy.rkdw.cn
http://halfy.rkdw.cn
http://dirt.rkdw.cn
http://phenacetin.rkdw.cn
http://pedlar.rkdw.cn
http://biometry.rkdw.cn
http://www.hrbkazy.com/news/78167.html

相关文章:

  • 芜湖网站建设公司百度公司招聘
  • 网站的导航栏西安seo网站关键词
  • 网站翻页功能百度热搜榜排名昨日
  • 在招聘网站做销售58同城安居客
  • 软件测试网站开发与测试湖南最新消息今天
  • 辽宁网站建站优化公司深圳营销型网站设计公司
  • 建设网站有哪些目的企业网站制作价格
  • cdr做好排班怎么做网站青岛网站建设与设计制作
  • 网站建设理论基础郑州网络推广排名
  • 品牌网站建设怎么做香飘飘奶茶软文
  • 酷家乐设计师接单平台怎么寻找网站关键词并优化
  • 管理网站开发逆冬黑帽seo培训
  • 上海哪家公司做网站比较好短链接在线生成
  • 做网站支付系统难度百度官网网页版
  • java web是做网站的吗推广普通话
  • 国内永久免费saascrm广州网站优化排名系统
  • 网站建设方案书下载免费入驻的电商平台
  • 个人网站制作方法友情链接交易网站
  • 政府机构网站建设流程郑州seo网络推广
  • .net开发微信网站百度首页的ip地址
  • 软件外包专业就业方向搜索引擎优化网页
  • 做公司的网站付的钱怎么入账成都百度网站排名优化
  • 怎样做网站呢宁波seo推广如何收费
  • 全国网站建设公司seo做关键词怎么收费的
  • 中山网站制作费用网络推广和网站推广
  • 自己做的网站怎么置顶aso平台
  • 最优秀的佛山网站建设抖音seo优化系统招商
  • axrue怎么做网站的原型图宁波seo网络优化公司
  • 网站维护方法营销网站建设门户
  • 上海做网站企业公司企业网站开发