上一页 1 ··· 7 8 9 10 11 12 13 14 下一页
摘要: 一:C语言中的右值概念 左值:既能出现在等号左边,又能出现在等号右边的变量(或表达式),可以寻址 右值:智能出现在等号右边的变量或表达式,无法寻址 例如:a = 10, a是左值,10就是右值 二:右值引用 rValue reference C++11中用&&代表右值引用,左值引用只能引用左值,右值 阅读全文
posted @ 2020-03-21 16:19 Asp1rant 阅读(193) 评论(0) 推荐(0)
摘要: 4:std::weak_ptr std::weak_ptr从shared_ptr产生,特性: std::weak_ptr 是一种智能指针,它对被 std::shared_ptr 管理的对象存在非拥有性(“弱”)引用。在访问所引用的对象前必须先转换为 std::shared_ptr。 std::wea 阅读全文
posted @ 2020-03-15 21:49 Asp1rant 阅读(144) 评论(0) 推荐(0)
摘要: 3. std::shared_ptr 先引入引用计数的概念 参考博客:https://blog.csdn.net/qq_29108585/article/details/78027867 简言之,当新建一个shared_ptr对象时,内存中会开辟一个区域来记录引用次数 引用计数会因如下原因增加: 用 阅读全文
posted @ 2020-03-11 20:36 Asp1rant 阅读(154) 评论(0) 推荐(0)
摘要: 智能指针的最主要作用还是自动释放资源,常用3种智能指针:unique_ptr, shared_ptr, weak_ptr 1. auto_ptr c++98中提供了一种指针容器auto_ptr,基本已弃用,具有如下几个特性: (1)无引用计数 (2)不能指向数组 (3)不能放入容器中使用 2. un 阅读全文
posted @ 2020-03-10 20:36 Asp1rant 阅读(205) 评论(0) 推荐(0)
摘要: 本文描述用std::atomic实现线程资源互锁 std::atomic用于实现程序里的原子操作,有关原子操作在《C++ Concurrency in Action》中的介绍: 原子操作是一类不可分割的操作,当这样操作在任意线程中进行一半的时候,你是不能查看的;它的状态要不就是完成,要不就是未完成。 阅读全文
posted @ 2020-03-06 20:47 Asp1rant 阅读(211) 评论(0) 推荐(0)
摘要: 本文将介绍C++11中实现并发以及用mutex实现资源互锁。 先强化一下并发的概念, 下图介绍了一个计算机处理恰好两个任务时的理想情景,每个任务被分为10个相等大小的 块。在一个双核机器(具有两个处理核心)上,每个任务可以在各自的处理核心上执行。在单核 机器上做任务切换时,每个任务的块交织进行。但它 阅读全文
posted @ 2020-03-05 16:02 Asp1rant 阅读(510) 评论(0) 推荐(0)
摘要: constexpr是C++11中新增的关键字,其语义是“常量表达式”,也就是在编译期可求值的表达式。最基础的常量表达式就是字面值或全局变量/函数的地址或sizeof等关键字返回的结果,而其它常量表达式都是由基础表达式通过各种确定的运算得到的。constexpr值可用于enum、switch、数组长度 阅读全文
posted @ 2020-02-20 23:01 Asp1rant 阅读(183) 评论(0) 推荐(0)
摘要: 参考博客:https://blog.csdn.net/qq_41015048/article/details/102558047 std::wstring_convert template < class Codecvt, class Elem = wchar_t, class Wide_alloc 阅读全文
posted @ 2020-02-12 17:25 Asp1rant 阅读(736) 评论(0) 推荐(0)
摘要: 转载自:https://www.cnblogs.com/zhaoxiaoying/p/9031890.html 一、var声明的变量会挂载在window上,而let和const声明的变量不会: var a = 100;console.log(a,window.a); // 100 100let b 阅读全文
posted @ 2020-01-04 19:10 Asp1rant 阅读(233) 评论(0) 推荐(0)
摘要: 在现实生活中,有些集合对象中存在多种不同的元素,且每种元素也存在多种不同的访问者和处理方式。例如,公园中存在多个景点,也存在多个游客,不同的游客对同一个景点的评价可能不同;医院医生开的处方单中包含多种药元素,査看它的划价员和药房工作人员对它的处理方式也不同,划价员根据处方单上面的药品名和数量进行划价 阅读全文
posted @ 2019-08-21 22:17 Asp1rant 阅读(179) 评论(0) 推荐(0)
摘要: 中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。 中介者模式是一种对象行为型模式,其主要优点如下。 降低了对象之间的耦合性,使得对象易于独立地被复用。 将对象 阅读全文
posted @ 2019-08-14 21:55 Asp1rant 阅读(205) 评论(0) 推荐(0)
摘要: 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。 观察者模式是一种对象行为型模式,其主要优点如下。 降低了目标与观察者之间的耦合关系,两 阅读全文
posted @ 2019-08-12 20:35 Asp1rant 阅读(216) 评论(0) 推荐(0)
摘要: 状态模式对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 状态模式是一种对象行为型模式,其主要优点如下。 状态模式将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满足“单一职责原则”。 减少对象间的相互依赖。将不同的状 阅读全文
posted @ 2019-08-10 19:49 Asp1rant 阅读(213) 评论(0) 推荐(0)
摘要: 需求:Python编程中,常常需要将object进行xml文件的输出,当需要实现object包含列表和数组的情况下时,下面提供方法: 1.通过dict将object输出为xml: 用内置方法__dict__可以将对象转换为字典,对于对象中包含对象的情况,可以使用递归实现同样转换为字典 2.转换为di 阅读全文
posted @ 2019-08-06 20:52 Asp1rant 阅读(2687) 评论(0) 推荐(0)
摘要: 在软件开发中,会遇到有些问题多次重复出现,而且有一定的相似性和规律性。如果将它们归纳成一种简单的语言,那么这些问题实例将是该语言的一些句子,这样就可以用“编译原理”中的解释器模式来实现了。 解释器(Interpreter)模式的定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来 阅读全文
posted @ 2019-08-04 20:25 Asp1rant 阅读(268) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 下一页