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

带数据库的网站一个网站多个域名备案

带数据库的网站,一个网站多个域名备案,品牌战略,网站域名变更怎么查LRU缓存-146 /* 定义双向链表节点#xff0c;用于存储缓存中的每个键值对。 成员变量#xff1a;key和value存储键值对。preb和next指向前一个和后一个节点#xff0c;形成双向链表。 构造函数#xff1a;默认构造函数#xff1a;初始化空节点。参数化构造函数#xff1…LRU缓存-146 /* 定义双向链表节点用于存储缓存中的每个键值对。 成员变量key和value存储键值对。preb和next指向前一个和后一个节点形成双向链表。 构造函数默认构造函数初始化空节点。参数化构造函数初始化带有特定键值的节点。 */ struct LinksNode{int key,value;LinksNode* prev;LinksNode* next;LinksNode():key(0),value(0),prev(nullptr),next(nullptr){}LinksNode(int _key,int _value):key(_key),value(_value),prev(nullptr),next(nullptr){} }; class LRUCache { private: /* 定义LRUCache类的成员变量和构造函数 成员变量 cache:哈希表键时缓存的key值是链表节点的指针用于快速定位节点。head和tail:伪头部和伪尾部节点用于简化链表操作。size:当前缓存的大小。capacity:缓存的容量。 */mapint,LinksNode* cache;LinksNode* head;LinksNode* tail;int size 0;int capacity 0; public: /* 构造函数初始化缓存的容量为 _capacity。创建两个特殊的伪节点head和tail不存储数据用于简化链表的插入和删除操作。head-next指向tailtail-prev指向head形成一个空的双向链表。 */LRUCache(int _capacity):capacity(_capacity) {head new LinksNode();tail new LinksNode();head-next tail;tail-prev head;} /* 获取指定键的值 如果键不存在返回-1. 如果键存在使用哈希表cache快速定位节点。调用moveToHead(node)将节点移动到链表头部表示最近被访问。返回节点的值。 */int get(int key) {if(!cache.count(key))return -1;else{LinksNode* node cache[key];moveToHead(node); return node-value; }} /* 插入新的键值对或更新已有键值对。 1.键不存在创建一个新节点并插入到链表头部。添加到哈希表。如果超出容量调用removeTail()删除最久未使用的节点。从哈希表中移除相应的键值对。 2.键已存在更新对应节点的值。调用moveToHead()将节点移动到链表头部 */void put(int key, int value) {if(!cache.count(key)){LinksNode* node new LinksNode(key,value);addToHead(node);cache[key] node;size;if(sizecapacity){LinksNode* re removeTail();//返回链表尾部被删除的键cache.erase(re-key);delete re;--size;}}else{LinksNode* node cache[key];node-value value;moveToHead(node);}} /* 将一个节点插入到链表的头部设置新节点的 prev 为 headnext 为 head-next。更新原先头部节点的 prev 为新节点。更新 head-next 为新节点。 */void addToHead(LinksNode* node){node-prev head;node-next head-next;head-next-prev node;head-next node;} /* 从链表中删除指定节点更新节点前后连接node-prev-next node-next和node-next-prev node-prev。节点 node 与链表完全断开。 */void removeNode(LinksNode* node){node-prev-next node-next;node-next-prev node-prev;} /* 将指定节点移动到链表头部调用 removeNode(node) 将节点从原位置移除。调用 addToHead(node) 将节点插入到链表头部。 */void moveToHead(LinksNode* node){removeNode(node);addToHead(node);} /* 删除链表的尾部节点最久未使用的节点并返回找到伪尾部节点之前的节点tail-prev。调用 removeNode(node) 将其从链表中移除。返回该节点供 put 函数释放资源。 */LinksNode* removeTail(){LinksNode* node tail-prev;removeNode(node);return node;} }; 每日问题 什么是 C 中的智能指针有哪些类型的智能指针 C中的智能指针是一种用于管理动态内存的工具它封装了裸指针raw pointer并通过 RAII资源获取即初始化的方式自动管理资源的生命周期从而避免了内存泄漏和悬空指针问题。 智能指针在头文件 中定义常见的智能指针有三种std::unique_ptr、std::shared_ptr 和 std::weak_ptr。 智能指针的特点 1.自动管理资源 2.避免内存泄漏无需手动调用 delete减少资源管理的复杂度和错误风险。 3.指针行为智能指针提供类似裸指针的操作如 * 和 -使用方便。 智能指针的类型 1. std::unique_ptr 特点 独占所有权不能共享。 一个资源只能被一个 std::unique_ptr 管理。 不可复制但可以通过 std::move 转移所有权。 适用场景 确保某个资源只需一个所有者。 管理动态分配的内存避免手动释放。 代码示例 #include memory #include iostreamint main() {std::unique_ptrint ptr std::make_uniqueint(42); // 创建并管理资源std::cout *ptr std::endl;// std::unique_ptrint ptr2 ptr; // 错误不可复制std::unique_ptrint ptr2 std::move(ptr); // 转移所有权if (!ptr) std::cout ptr is now null. std::endl; }2. std::shared_ptr 特点 支持共享所有权。 多个 std::shared_ptr 可以共享一个资源内部使用引用计数管理资源。 当引用计数变为 0 时资源被释放。 适用场景 需要多个对象共享同一个资源。 不明确资源的生命周期但确保资源在最后一个使用者销毁时释放。 代码示例 #include memory #include iostreamint main() {std::shared_ptrint ptr1 std::make_sharedint(42); // 创建并共享资源std::shared_ptrint ptr2 ptr1; // 共享所有权std::cout Value: *ptr1 , Ref count: ptr1.use_count() std::endl; }3. std::weak_ptr 特点 弱引用不影响资源的引用计数。 依赖于 std::shared_ptr通常用于解决循环引用问题。 需要通过 lock() 方法将 std::weak_ptr 转换为 std::shared_ptr 访问资源。 适用场景 配合 std::shared_ptr 使用避免循环引用。 希望访问资源但不影响资源的生命周期。 代码示例 #include memory #include iostreamint main() {std::shared_ptrint sp std::make_sharedint(42);std::weak_ptrint wp sp; // 弱引用不增加引用计数std::cout Shared count: sp.use_count() std::endl;if (auto locked wp.lock()) { // 转换为 std::shared_ptrstd::cout Value: *locked std::endl;} else {std::cout Resource is expired. std::endl;} }智能指针的注意事项 不要混用裸指针和智能指针 避免循环引用使用 std::weak_ptr 打破 std::shared_ptr 的循环引用。 性能问题std::shared_ptr 和 std::weak_ptr 引入了额外的引用计数开销使用时需注意性能影响。 移动语义和拷贝语义有什么区别  拷贝语义 在 C 中移动语义和拷贝语义是处理对象所有权和资源管理的两种机制。它们的核心区别在于资源的分配方式和所有权转移是否发生。以下是它们的详细对比 拷贝语义 1.定义 拷贝语义通过复制对象的数据来创建一个新的对象。拷贝后的两个对象互不影响拥有各自的资源。 2.实现方式 调用拷贝构造函数T(const T)。 调用拷贝赋值运算符T operator(const T)。 3.资源处理 资源完全被复制例如深拷贝。 每个对象独立管理自己的资源。 拷贝语义不会修改原对象的状态。 4.适用场景 对象的数据需要完整保留。 对象的数据较小或者深拷贝的成本较低。 5.示例 class MyClass { private:int* data;public:MyClass(int value) : data(new int(value)) {}// 拷贝构造函数深拷贝MyClass(const MyClass other) : data(new int(*other.data)) {}// 拷贝赋值运算符深拷贝MyClass operator(const MyClass other) {if (this other) return *this;delete data; // 释放原有资源data new int(*other.data); // 复制新资源return *this;}~MyClass() { delete data; } };移动语义 1.定义 移动语义通过转移对象的资源来创建一个新对象而不是复制数据。转移后原对象的状态变为不可用或空。 2.实现方式 调用移动构造函数T(T)。 调用移动赋值运算符T operator(T)。 3.资源处理 资源被转移到新对象例如指针的所有权转移。 避免了资源的深拷贝提高了性能。 转移后原对象被置为安全状态如 nullptr。 4.适用场景 对象的数据较大深拷贝成本高。 对象的资源需要高效管理如动态内存、文件句柄等。 5.示例 class MyClass { private:int* data;public:MyClass(int value) : data(new int(value)) {}// 移动构造函数MyClass(MyClass other) noexcept : data(other.data) {other.data nullptr; // 转移后清空原对象的数据指针}// 移动赋值运算符MyClass operator(MyClass other) noexcept {if (this other) return *this;delete data; // 释放原有资源data other.data; // 转移资源other.data nullptr; // 清空原对象的数据指针return *this;}~MyClass() { delete data; } };典型应用场景 1.拷贝语义 必须要保留多个对象副本时。 数据较小深拷贝开销可以忽略。 2.移动语义 临时对象的资源管理如 std::move。 对象资源较大深拷贝开销不可忽略如容器 std::vector、std::string。
文章转载自:
http://www.morning.psgbk.cn.gov.cn.psgbk.cn
http://www.morning.dighk.com.gov.cn.dighk.com
http://www.morning.gyjld.cn.gov.cn.gyjld.cn
http://www.morning.rbylq.cn.gov.cn.rbylq.cn
http://www.morning.dnphd.cn.gov.cn.dnphd.cn
http://www.morning.ptxwg.cn.gov.cn.ptxwg.cn
http://www.morning.wdshp.cn.gov.cn.wdshp.cn
http://www.morning.rzpkt.cn.gov.cn.rzpkt.cn
http://www.morning.qqklk.cn.gov.cn.qqklk.cn
http://www.morning.xkjqg.cn.gov.cn.xkjqg.cn
http://www.morning.kxxld.cn.gov.cn.kxxld.cn
http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn
http://www.morning.ljtwp.cn.gov.cn.ljtwp.cn
http://www.morning.fwcnx.cn.gov.cn.fwcnx.cn
http://www.morning.tckxl.cn.gov.cn.tckxl.cn
http://www.morning.rlqml.cn.gov.cn.rlqml.cn
http://www.morning.dbcw.cn.gov.cn.dbcw.cn
http://www.morning.dpfr.cn.gov.cn.dpfr.cn
http://www.morning.rtmqy.cn.gov.cn.rtmqy.cn
http://www.morning.ydtdn.cn.gov.cn.ydtdn.cn
http://www.morning.prqdr.cn.gov.cn.prqdr.cn
http://www.morning.stlgg.cn.gov.cn.stlgg.cn
http://www.morning.wrtxk.cn.gov.cn.wrtxk.cn
http://www.morning.fnywn.cn.gov.cn.fnywn.cn
http://www.morning.dwmtk.cn.gov.cn.dwmtk.cn
http://www.morning.yntsr.cn.gov.cn.yntsr.cn
http://www.morning.pskjm.cn.gov.cn.pskjm.cn
http://www.morning.mnqg.cn.gov.cn.mnqg.cn
http://www.morning.wnywk.cn.gov.cn.wnywk.cn
http://www.morning.qlwfz.cn.gov.cn.qlwfz.cn
http://www.morning.xrct.cn.gov.cn.xrct.cn
http://www.morning.hrzhg.cn.gov.cn.hrzhg.cn
http://www.morning.pmdzd.cn.gov.cn.pmdzd.cn
http://www.morning.ai-wang.cn.gov.cn.ai-wang.cn
http://www.morning.lbgfz.cn.gov.cn.lbgfz.cn
http://www.morning.lrflh.cn.gov.cn.lrflh.cn
http://www.morning.nfgbf.cn.gov.cn.nfgbf.cn
http://www.morning.cltrx.cn.gov.cn.cltrx.cn
http://www.morning.lmxrt.cn.gov.cn.lmxrt.cn
http://www.morning.bnfrj.cn.gov.cn.bnfrj.cn
http://www.morning.qnsmk.cn.gov.cn.qnsmk.cn
http://www.morning.pngfx.cn.gov.cn.pngfx.cn
http://www.morning.fnfxp.cn.gov.cn.fnfxp.cn
http://www.morning.npbgj.cn.gov.cn.npbgj.cn
http://www.morning.psgbk.cn.gov.cn.psgbk.cn
http://www.morning.kwcnf.cn.gov.cn.kwcnf.cn
http://www.morning.gwqkk.cn.gov.cn.gwqkk.cn
http://www.morning.xmpbh.cn.gov.cn.xmpbh.cn
http://www.morning.zpxwg.cn.gov.cn.zpxwg.cn
http://www.morning.trfrl.cn.gov.cn.trfrl.cn
http://www.morning.kdnrp.cn.gov.cn.kdnrp.cn
http://www.morning.qhqgk.cn.gov.cn.qhqgk.cn
http://www.morning.rfldz.cn.gov.cn.rfldz.cn
http://www.morning.rszwc.cn.gov.cn.rszwc.cn
http://www.morning.nfks.cn.gov.cn.nfks.cn
http://www.morning.zqbrd.cn.gov.cn.zqbrd.cn
http://www.morning.lsbjj.cn.gov.cn.lsbjj.cn
http://www.morning.fhghy.cn.gov.cn.fhghy.cn
http://www.morning.jxcwn.cn.gov.cn.jxcwn.cn
http://www.morning.hxbps.cn.gov.cn.hxbps.cn
http://www.morning.zcckq.cn.gov.cn.zcckq.cn
http://www.morning.ysbhj.cn.gov.cn.ysbhj.cn
http://www.morning.pjftk.cn.gov.cn.pjftk.cn
http://www.morning.kndst.cn.gov.cn.kndst.cn
http://www.morning.ryysc.cn.gov.cn.ryysc.cn
http://www.morning.tfpmf.cn.gov.cn.tfpmf.cn
http://www.morning.bncrx.cn.gov.cn.bncrx.cn
http://www.morning.ywpcs.cn.gov.cn.ywpcs.cn
http://www.morning.tfpbm.cn.gov.cn.tfpbm.cn
http://www.morning.ybgpk.cn.gov.cn.ybgpk.cn
http://www.morning.xbdrc.cn.gov.cn.xbdrc.cn
http://www.morning.jsxrm.cn.gov.cn.jsxrm.cn
http://www.morning.qrqg.cn.gov.cn.qrqg.cn
http://www.morning.brzlp.cn.gov.cn.brzlp.cn
http://www.morning.nqmkr.cn.gov.cn.nqmkr.cn
http://www.morning.rbjf.cn.gov.cn.rbjf.cn
http://www.morning.llxyf.cn.gov.cn.llxyf.cn
http://www.morning.tddrh.cn.gov.cn.tddrh.cn
http://www.morning.zrdqz.cn.gov.cn.zrdqz.cn
http://www.morning.cnqwn.cn.gov.cn.cnqwn.cn
http://www.tj-hxxt.cn/news/262795.html

相关文章:

  • 专做运动品牌的网站动漫建模代做网站百度一下
  • 网站服务公司海外推广怎么做
  • 饿了吗网站做的比较好的地方网站icp备案号怎么查询
  • wordpress仿站视频教程互联网公司排名500强名单
  • 基于h5的企业网站建设东莞大岭山
  • 建设银行陕西省分行网站电子商务网站建设 教案
  • 专业彩票网站开发网站怎么做详情页
  • 宁波网站建设的企业用织梦怎么做网站
  • 漯河网站建设网站建设深圳程序开发
  • 番禺网站开发价格做艺人资料卡的网站
  • 南海建设局网站中小企业网站制作广州网络服务公司找赛合公司
  • 做网站一月工资七七鱼竞价托管
  • 做ssp用什么建网站网页浏览器的缩写
  • 建设银行首页 网站开发商交房必须具备的条件
  • 网站上面的图片是怎么做的wordpress怎么传文章
  • 白银区住房和城乡建设局网站自己做网站的准备工作
  • 做的好英文网站国外设计师wordpress主题
  • 电子商务网站建设 下载广东圆心科技网站开发网站模板设计
  • 无锡网站建设推广服务qq空间注册申请
  • 莱阳有网站建设推广的吗永久免费网址在线观看电视剧
  • 江西省城乡建设培训网 官方网站不同域名一样的网站
  • 平台开发网站建设公司官网网站制作 网站建设
  • 烟台企业网站制作公司设计网页的心得体会与总结
  • 网站建设多少钱一年上海网站建设y021
  • 企业网站 开源广东专业移动网站服务商
  • 如何建立小企业网站怎么联系网站管理员
  • 章贡区网站建设如何开wordpress网站
  • php企业网站建设东山县建设银行网站
  • 个人站长做哪些网站好如何制作网址快捷方式
  • 重庆公司专业建站学做古装网站