当前位置: 首页 > 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://www.15wanjia.com/news/39964.html

相关文章:

  • 网站建设 引导娃哈哈软文推广
  • 个人网站制作dwseo推广价格
  • mvc架构购物网站开发品牌营销策划网站
  • 服务器维护通知橘子seo历史查询
  • 线上广告平台郑州seo学校
  • 简洁软件下载网站源码成都网站建设公司
  • 做电缆好的网站怎么创建一个网站
  • 温州专业微网站制作网络公司优化大师 win10下载
  • html5制作手机网站工程建设数字化管理平台
  • wordpress 开源地图插件引擎搜索优化
  • 网站页头图片旺道seo优化
  • 做网站需要专业百度搜索大数据查询
  • 怎么样将网站内容做的漂亮百度竞价代运营公司
  • 互联网保险乱象北京优化seo排名
  • 官方网站建设与维护好处搜索引擎营销的特征
  • 学校宣传栏版面设计网站推广优化流程
  • 成都网站建设028net西安seo服务商
  • ui设计网站成品图片在线一键建站系统
  • 怎么做婚恋网站贵阳网站建设制作
  • 日本药妆电子商务网站建设规划书站长工具ip地址
  • 肥西县建设局官方网站互联网最赚钱的行业
  • 贵州网站建设推荐长沙seo全网营销
  • 网站上的超链接怎么做深圳seo推广公司
  • 德宏企业网站建设公司谷歌外贸网站
  • o2o网站建设渠道网站关键词快速排名工具
  • 西咸新区建设环保网站临沂seo整站优化厂家
  • 济南道驰网站建设有限公司怎么样seo搜索引擎排名优化
  • 提供武汉手机网站建设手机打开国外网站app
  • 有哪些网站可以做赌博游戏我赢seo
  • 画册设计说明防控措施持续优化