精华内容
下载资源
问答
  • PTRS

    千次阅读 2012-02-28 14:38:58
    Why a PTRS is not a TRS.  为什么一个PTRS(投资组合总收益互换)不是一个TRS(总收益互换)   Overview  概要 First we define what a TRS is and then go on to describe a basket TRS. 首次我们要定义...

     

    Why a PTRS is not a TRS.

     为什么一个PTRS(投资组合总收益互换)不是一个TRS(总收益互换)

     

    Overview

     概要

    First we define what a TRS is and then go on to describe a basket TRS.

    首次我们要定义什么是TRS然后再来描述一篮子TRS(TRS的集合)。

     

    We then show that a PTRS is not a basket TRS and the amount is has in common with a TRS is minimal.

     我们然后才知道一个PTRS不是一个一篮子的TRS(TRS的集合),PTRS的金额,正如TRS也同样拥有的,是最小的数量。(可能这句翻得有问题)

    Description of a TRS

     TRS(总收益互换)的描述

    A Total Return Swap or a, Total Rate of Return Swap, is a derivative trade that gives one party the economic equivalent of owning the original instrument. The two parties to the deal exchange cash flows exactly as they would have done if the real instrument had been purchased. This is normally without the initial cash required to purchase the asset and the return of that cash on maturity.

     一个总收益互换,或者说总收益率互换,是一种金融衍生品的交易,这个交易给予一方,相当于拥有某种原始金融票据一样,经济意义上替代品。交易双方商定交换的现金流,这现金完全如同真实的金融票据被支付时所付的一样。不需要初始的本金用于购买莫中资产,到期后也不会有本金偿还,这些在TRS中都是很正常的。

    There arel reasons why you might wish to use a TRS as opposed to purchasing or selling the original asset. These include

    有很多原因为什么你会想要做一个TRS相比买卖某种原始资产。这些包括:

    1.     You cannot sell or buy the asset due to reputational or regulatory reasons

    你不能够买卖这些资产由于声望或者法规控制等原因。

    2.     You cannot access the asset in a liquid market - it maybe of limited issuance or have gone "special" or you may not have the required accounts in the country of issuance.

    在流通市场上你买不到这样的资产。也许由于限制发行或者比较特殊,或者在某些发行国你没有必要的账户。

    You can think of a TRS as a combined CDS and IRS where the Credit and Interest risk on the original instrument are passed on to the counterparty.

    你可以把一个TRS比作与对方签订了一个在原始商业票据上的捆绑的CDS(Credit Default Swap信用违约互换)和IRS(Interest Rate Swap 利率互换)的协议。

     

    A Basket TRS is when you take out a TRS on more than one instrument or single name. You have then taken on the economics of owning the entire set of instruments.

    当你把超过一个商业票据或单名票据做一个总收益互换就是一篮子TRS(总收益互换)。如果你做了这个互换你就得到到了相当于拥有这整个票据集合所带来经济收益和风险。

     

    The PTRS Business

    PTRS(投资组合总收益互换)的业务

    The PTRS business provides a mechanism for the counterparty to gain exposure to a basket of loans. The counterparty can managed the basket of loans dynamically by adding or removing loands to increase or reduce the overall exposure.

    PTRS的业务给交易方提供了一种方式,能从一篮子的贷款中收益,面临一篮子贷款所带来的风险敞口。交易方能够管理这一篮子的贷款, 动态的增加或者去掉某几笔单款去增加或者降低整体的风险敞口。

    The underlying basket changes over time. This is harder to model than a static basket TRS but could be done under the TRS model.

    这些相关一篮子(贷款产品)随着时间不断的在变换。这很难把它塑造成为一个静态一篮子TRS模型,尽管单笔的TRS能够用TRS模型做到。

    What really breaks the model is the PTRS deal does not have a fixed Notional amount. The PTRS deal is far more like a facility or a Line of Credit. The counterparty agrees a maximum Notional amount but the deal does not have to ever reach this amount.

    最大的建模障碍是PTRS的交易上没有一个固定的名义金额。PTRS的协议远不同于一个贷款或信用额度(他们有着固定的名义金额)。交易方协定一个最大的名义金额,但是不必一定要达到这个数量。

    The facility has a start date and an end date and an initial settlement date. It is subject to the ISDA document. It has a counterparty.

    贷款有一个开始日期,一个结束日期和一个初始的结算日期。它依据与相关的 ISDA文件(ISDA为 国际掉期与衍生工具协会)。 它有一个交易方。

    However it has a managed portfolio that can ramp up and down over time.

    然而这笔贷款所在的管理完善的投资组合是能随着时间的推移慢慢开始建仓(投资组合建仓期间逐渐买入贷款,名义金额上升),慢慢结束(投资组合中的贷款逐渐到期,名义金额减少)。

    Finally the Portfolio of Loans is subject to real time limit constraints. A set of rules are defined that restrict what it is possible to put in the portfolio. All these rules would need to modelled, entered in TWS, and have TWS check the rules at trade entry time.

    最终这个投资组合里的贷款都要符合实时的限制约束。有一系列的规则被定义用来限制什么样的贷款可能被放在这个投资组合中。

    展开全文
  • 5G NR PTRS

    千次阅读 2020-03-25 15:53:38
    一 PT-RS for PUSCH 1 序列生成 如果未使能传输预编码(对应CP-OFDM),层j上子载波k上的PTRS由...如果使能了传输预编码(对应DFT-s-OFDM),PTRS在DFT之前插入,此时PTRS映射位置m取决于PTRS group数量和每个group...

    一 PT-RS for PUSCH

    1 序列生成

    如果未使能传输预编码(对应CP-OFDM),层j上子载波k上的PTRS由下式给出:
    在这里插入图片描述

    • 序列r(m)与PUSCH的DM-RS相同;
    • 不论是否跳频,PTRS的时域位置都在所在子载波的第一个DMRS符号上。

    如果使能了传输预编码(对应DFT-s-OFDM),PTRS在DFT之前插入,此时PTRS映射位置m取决于PTRS group数量和每个group内sample的数量以及PUSCH总共所占的子载波的数量。序列生成公式如下所示
    在这里插入图片描述
    其中伪随机序列采用31阶Gold序列,
    在这里插入图片描述
    w(i)在下表中给出
    在这里插入图片描述

    2 资源映射

    未使能传输预编码情况下
    映射到RE的方式和上面序列生成相同也分为两种情形,如果是未使能传输预编码,即CP-OFDM情形,UE只在高层信令指示PTRS传输下才传输,且只在PUSCH内传输PTRS,映射到RE的公式如下
    在这里插入图片描述

    • l是PUSCH所占OFDM符号;
    • RE未被DM-RS占用的;
    • 和 对应于p0(波浪)到pv-1(波浪);
    • W是预编码矩阵;
    • βPT-RS是功率因子。

    下面的描述介绍了PTRS时域资源的配置方式。L(PTRS)表示PTRS在时域上的密度,有1 、2 、4三种情况,即每1、 2或4个符号配置PTRS,配置方式为:从PUSCH开始调度的位置开始,直到PUSCH结束,每L个符号配置PTRS,如果碰到了DM-RS,则重新开始计数。例如,PUSCH在一个slot内调度,即从l=0开始到l=13结束,PTRS密度为4,即每4个符号一个PTRS,DM-RS在l=2的符号上,则PTRS配置情形如下图所示:
    在这里插入图片描述
    下面是PTRS频域资源映射的描述,为了PTRS的映射,PUSCH的所有RB从最低频域位置从0开始增序编号,所有的子载波也从0开始增序编号。PTRS要映射的子载波通过下式给出,式中

    • k(RE)是RE级别的offset,取值在下表中给出,与DM-RS端口和类型以及参数resourceElementOffset有关;
      在这里插入图片描述
    • k(RB)是RB级别的offset,与RNTI和PTRS频域密度有关,RNTI为调度该PUSCH的DCI对应的RNTI,频域密度取值可以为2和4,表示每2个RB一个PTRS或每4个RB一个PTRS。

    例如PTRS时域密度为1,频域密度为2,DM-RS端口为0 1 2 3,DM-RS为configuration type 1,且参数resourceElementOffset为00,则对应4个DM-RS端口的PTRS的RE级别的offset分别为0 2 1 3。

    使能传输预编码的情况下
    在使能传输预编码的情况下,即DFT-s-OFDM,PTRS是在DFT之前插入,插入的位置m与三个参数有关:PTRS的group数量、每个group内的sample数量和PUSCH所占子载波的数量,不同情况下的具体公式在下表中给出。
    在这里插入图片描述
    从公式中可以看出,当group内sample数量为2时,插入的位置在Mcs的中间位置,当group内sample数量为4时,插入位置在Mcs的首尾位置。

    对于时域配置,上行DFT-s-OFDM与CP-OFDM相同,区别在于密度支持1和2,不支持4,考虑到如果为4可能会影响到补偿的效果。

    二 PT-RS for PDSCH

    • 在PTRS映射的过程中,不能占用DM-RS、CSI-RS、SSB和检测到的PDCCH重叠的资源。
    • PDSCH的PTRS时域上与PUSCH相同,从PDSCH的起始位置开始直到PDSCH结束的位置为止,密度有1 、2 、4,碰到DM-RS重新计数。
    • 下行没有传输预编码,PDSCH的PTRS频域映射和PUSCH不使能传输预编码的方式相同。

    三 PT-RS传输过程

    如果UE没有被配置参数phaseTrackingRS,则UE不传输PT-RS。只有在RNTI为MCS-C-RNTI, C-RNTI, CS-RNTI, SP-CSI-RNTI的情况下才可能有PT-RS传输。

    下面IE用于配置上行PTRS的参数
    在这里插入图片描述

    1、transform precoding not enabled的情况

    时频域密度的相关介绍

    当未使能传输预编码(对应CP-OFDM),且如果UE配置了参数phaseTrackingRS:

    • 参数timeDensity指示PTRS时域密度,但实际给出的是MCS的index门限值,然后再根据表6.2.3.1-1确定时域密度,即时域密度与MCS有关联关系,调制阶数越高,所需时域密度也越高;
    • 参数frequencyDensity指示PTRS频域密度,但实际给出的是带宽门限,然后根据表6.2.3.1-2确定频域密度,即频域密度与带宽有关联关系;
    • 时频域密度的缺省值为时域密度为1和频域密度为2.
      在这里插入图片描述
    • 对于时域高层参数会指示MCS的index,index在哪个范围内就确定了用多大的时域密度,默认ptrs-MCS4为29或28,与具体用哪个MCS指示表格有关,其他的三个门限值由参数timeDensity指示。对于频域,参数frequencyDensity会在范围1-276内指示2个带宽门限,且带宽大小确定了对应的频域密度。
    • 当表6.2.3.1-1和6.2.3.1-2中某行的门限值上下限相同时,则该行的密度值不可用,如ptrs-MCS1 = ptrs-MCS2,则时域密度值不可为4。
    • 当频域密度和时域密度中的一个或全部指示为“PTRS不存在”,则UE认为PTRS不存在。
    • 当UE被调度在小于等于2个符号内传输PUSCH,且时域密度被设置为2或4,则UE不传输PTRS,当PUSCH在4个符号内调度,且时域密度被设置为4,则UE不传输PTRS。
    • 当UE被调度重传PUSCH,如果参数指示的MCS index大于了28或27(两个MCS配置表格中分别大于28和27的index为预留),则按照初始传输中相同TB的对应的DCI中的MCS index指示确定时域密度。

    天线端口的相关介绍

    • 参数maxNrofPorts指示PTRS的最大天线端口;
    • 如果UE支持全相干上行传输,则UE希望端口数量配置为1;
    • 对于基于码本和非码本的上行传输,上行PT-RS端口和上行DM-RS端口之间的关系由DCI format 0_1内的PTRS-DMRS association指示;指示方式如下
      在这里插入图片描述
    • 对于非码本上行传输,上行PTRS的实际端口数基于SRI确定,SRS相关配置参数ptrs-PortIndex指示每个SRS对应的PTRS端口索引,如果对应不同SRI的PTRS端口具有相同索引,则对应的上行DMRS端口与上行PTRS端口对应;
    • 对于基于码本的潜在相干和非相干上行传输,PTRS端口数由DCI format 0_1内的TPMI和/或TRI 决定:如果参数maxNrofPorts配置为n2,实际的上行PTRS端口数和对应的传输层由TPMI决定,TPMI内的PUSCH端口1000和1002共享PTRS端口0,PUSCH端口1001和1003共享PTRS端口1。

    功率相关内容介绍
    每层每RE上的PUSCH和PTRS的功率比为
    在这里插入图片描述
    在下表中由参数ptrs-Power指示,且与PUSCH的层数和PTRS的端口数有关。根据功率比可以进一步计算出资源映射时的功率因子β,参数ptrs-Power的缺省值或非码本PUSCH时为00。
    在这里插入图片描述

    2 、transform precoding enabled的情况
    当使能了传输预编码,且如果高层配置了参数dft-S-OFDM,则:

    • 高层会为UE配置参数sampleDensity,该参数指示5个门限值,UE根据PUSCH的调度带宽具体在哪个范围,从而确定对应的PTRS图样——PTRS group的数量和每个group内sample的数量,如下表所示;
      在这里插入图片描述
    • 如果RNTI是TC-RNTI,或者调度的RB数量小于Nrb0,则不传输PTRS;
    • 参数timeDensity可能会将时域密度配置为2,否则,UE认为时域密度为1;
    • 如果参数指示了门限值相等的情况 NRB,i = NRB,i+1,则该门限值范围内对应的图样不可用;
    • PTRS的功率因子β’由PUSCH的调制方式确定,如下表所示。
      在这里插入图片描述

    四 PT-RS接收过程

    UE在所给的载频上,对每种子载波间隔,根据能力上报MCS和带宽门限,且会认为MCS表格中的最大调制阶数就是自己上报的调制阶数。
    下列参数用于配置下行PTRS:
    在这里插入图片描述
    如果在DMRS-DownlinkConfig内配置了参数phaseTrackingRS,则:

    • 如果配置了参数timeDensity和frequencyDensity,且RNTI为MCS-C-RNTI, C-RNTI or CS-RNTI,UE认为PTRS端口存在,且时频域密度由高层参数timeDensity和frequencyDensity指示,两个参数分别指示了MCS和带宽门限,如表5.1.6.3-1和5.1.6.3-2所示,根据实际MCS和带宽所在范围,确定PTRS时频域密度;
      在这里插入图片描述
    • 时域密度的缺省值为1,频域密度的缺省值为2;
    • 如果参数timeDensity和frequencyDensity都没有配置,且RNTI为MCS-C-RNTI, C-RNTI or CS-RNTI,则UE认为PTRS端口存在,且时域密度为1,频域密度为2;
    • 调制阶数太小的不需要PTRS
    • 调度的RB数量小于3的不需要PTRS;
    • RNTI为RA-RNTI, SI-RNTI, or P-RNTI的,不需要PTRS。

    下行DMRS端口与一个PTRS端口对应,且两者具有QCL关系。如果UE调度的是单码字,PTRS端口对应所有PDSCH DMRS端口中索引最小的端口。如果UE调度的是双码字,PTRS天线端口对应具有更高MCS码字的DMRS端口中索引最小的端口。如果两个码字的MCS索引相同,PTRS天线端口对应码字0的DMRS天线端口中索引最小的端口。

    展开全文
  • 5G NR PDSCH的相位跟踪参考信号PTRS

    万次阅读 2019-04-29 21:56:58
    提供了三个范围在(0,29)的值,分别对应TS 38.214-Table5.1.6.3-1中的ptrs-MCS1、ptrs-MCS2、ptrs-MCS3,UE再通过DCI中的调度MCS信息就可以确定PT-RS的时域密度 L P T − R S L_{PT-RS} L P T − R S ​ 。表中的...

    相位噪声

    相位噪声指射频器件在各种噪声(如随机性白噪声、闪烁噪声)的作用下引起的系统输出信号相位的随机变化。相位噪声会恶化接收端的SNR(Signal-Noise Ratio信噪比)或EVM(Error Vector Magnitude误差向量幅度),造成大量的误码,这样就限制了高阶调制的使用,会严重影响系统的容量。

    相对来说,相位噪声对低频段,也就是sub6G频段的影响较小一些。而高频段(毫米波)下,由于参考时钟源的倍频次数大幅增加以及器件的工艺水平和功耗等各方面的原因,相位噪声的影响也是大幅增加。

    为了应对高频段下的相位噪声,除了增大子载波间隔、提高器件质量之外,5G新空口引入了PT-RS(Phase Tracking Reference Signal)信号以及相位估计补偿算法。

    序列

    序列生成方式与DMRS一致。

    配置

    下行是否配置了PT-RS,由DMRS-DownlinkConfig中的字段phaseTrackingRS来决定,如果该字段缺省或配置为released,则表示下行没有PT-RS信号。

    PT-RS的具体配置在PTRS-DownlinkConfig中:

    在这里插入图片描述

    frequencyDensity提供了两个值,这两个值都在(1,276)的范围内,分别对应了TS
    38.214-Table5.1.6.3-2中的 N R B 0 N_{RB0} NRB0 N R B 1 N_{RB1} NRB1,UE再通过DCI中的调度RB数查询该表,就可以确定PT-RS的频域密度 K P T − R S K_{PT-RS} KPTRS。可以看到,如果调度RB数过少,即 N R B &lt; N R B 0 N_{RB}&lt;N_{RB0} NRB<NRB0时,PT-RS的系统开销相对来说就太大了,这个时候下行没有PT-RS信号。

    在这里插入图片描述

    timeDensity提供了三个范围在(0,29)的值,分别对应TS 38.214-Table5.1.6.3-1中的ptrs-MCS1、ptrs-MCS2、ptrs-MCS3,UE再通过DCI中的调度MCS信息就可以确定PT-RS的时域密度 L P T − R S L_{PT-RS} LPTRS。表中的ptrs-MCS4没有在高层参数中明确配置,UE可以假定该值为当前可使用的最大MCS+1。

    在这里插入图片描述

    epre-Ratio通过TS 38.214-Table4.1-2确定了PT-RS端口每层每个RE上PT-RS EPRE与PDSCH EPRE的比例,这个比例叫做 ρ P T R S {\rho}_{PTRS} ρPTRS,它与 β P T R S \beta_{PTRS} βPTRS的关系为 β P T R S = 1 0 ρ P T R S 20 \beta_{PTRS}=10^{\frac{\rho_{PTRS}}{20}} βPTRS=1020ρPTRS

    在这里插入图片描述

    resourceElementOffset在讲资源映射时具体说明。

    资源映射

    PT-RS序列通过如下方式映射到RE ( k , l ) p , μ (k,l)_{p,\mu} (k,l)p,μ上:
    在这里插入图片描述
    其中, β P T − R S \beta_{PT-RS} βPTRS的获取方式如上文所述。*r(2m+k’)*和DMRS的一致。

    确定时域索引l的步骤如下:

    1. 设置i=0 l r e f = 0 l_{ref}=0 lref=0

    2. 如果从 m a x ( l r e f + ( i − 1 ) L P T − R S + 1 , l r e f ) max(l_{ref}+(i-1)L_{PT-RS}+1,l_{ref}) max(lref+(i1)LPTRS+1,lref) l r e f + i L P T − R S l_{ref}+iL_{PT-RS} lref+iLPTRS的间隔中,有任何一个符号和DMRS的符号重叠,则:

    • 设置i=1

    • 如果是单符号DMRS,设置 l r e f l_{ref} lref为DMRS的符号索引,如果是双符号DMRS,设置 l r e f l_{ref} lref为DMRS第二个符号的索引。

    • 只要 l r e f + i L P T − R S l_{ref}+iL_{PT-RS} lref+iLPTRS还在为PDSCH分配的符号中,从步骤2开始重复执行

    1. l r e f + i L P T − R S l_{ref}+iL_{PT-RS} lref+iLPTRS加入到PT-RS的时域索引集合中

    2. 只要 l r e f + i L P T − R S l_{ref}+iL_{PT-RS} lref+iLPTRS还在为PDSCH分配的符号中,从步骤2开始重复执行

      也就是说,PT-RS时域的的范围,从调度的PDSCH的第一个符号开始,避开DMRS所在的位置,以 L P T − R S L_{PT-RS} LPTRS为密度,一直到PDSCH结束。

      在频域上,首先,假定分配给PDSCH的RB为从0到 N R B − 1 N_{RB}-1 NRB1,那么分配给PDSCH的子载波范围就是从0到 N s c R B N R B − 1 N_{sc}^{RB}N_{RB}-1 NscRBNRB1。最终映射PT-RS的子载波通过下列公式得到:
      在这里插入图片描述
      其中

    • i=1,2,…

    • n R N T I n_{RNTI} nRNTI是DCI调度本次传输的RNTI

    • k r e f R B k_{ref}^{RB} krefRB的取值见TS 38.211-Table7.4.1.2.2-1,表中给出了与PT-RS天线端口相关联的DMRS天线端口和该值的关系。如果UE调度为单码字,则PT-RS端口与分配给PDSCH的DMRS天线端口中最小索引的端口关联:如果UE调度为双码字,则PT-RS端口与分配给较高MCS码字的DMRS天线端口中最小索引的端口关联;如果两个码字的MCS一样,则PT-RS端口与码字0的DMRS天线端口中最小索引的端口关联。表中resoureceElementOffset由高层配置,缺省配置为’00’。

    在这里插入图片描述

    展开全文
  • --Winter坦白的讲,这个条款不应加入本书,因为包含atuo_ptr的容器(COAPs)本来在STL中就是禁止的。就算你这么用了,编译器也不会编译你的代码。而标准委员会也没有解释为什么不能这样。对于COAPs我应该什么都不用说的...

    本来没有打算自己翻译Effective STL的,怕影响大家情绪:),只是发现有些条款在网络上找不到,只好自己翻译了。--Winter

    坦白的讲,这个条款不应加入本书,因为包含atuo_ptr的容器(COAPs)本来在STL中就是禁止的。就算你这么用了,编译器也不会编译你的代码。而标准委员会也没有解释为什么不能这样。对于COAPs我应该什么都不用说的,因为你的编译器应该替你做好了一切工作,所有这种类似的代码都不应该被编译。

    详细阅读 "Effective STL 条款8:不要把auto_ptrs放入容器"
    展开全文
  • shared_ptr

    2013-05-31 17:17:11
    编辑本段简介 shared_ptr是一种智能指针...shared_ptr的作用有如同指针,但会记录有多少个shared_ptrs共同指向一个对象。这便是所谓的引用计数(reference counting)。一旦最后一个这样的指针被销毁,也
  • shared_ptr理解

    千次阅读 2016-05-20 09:17:10
    shared_ptr的作用有如同指针,但会记录有多少个shared_ptrs共同指向一个对象。 shared_ptr是C++非常重要的一个防止内存泄露的设计 作用: 这便是所谓的引用计数(reference counting)。一旦最后一个这样的指针被...
  • std::shared_ptr 详解

    万次阅读 2019-07-13 22:34:25
    shared_ptr是一种智能指针(smart pointer),作用有如同指针,但会记录有多少个shared_ptrs共同指向一个对象。这便是所谓的引用计数(reference counting)。 一旦最后一个这样的指针被销毁,也就是一旦某个对象的...
  • shared_ptr的作用有如同指针,但会记录有多少个shared_ptrs共同指向一个对象。 这便是所谓的引用计数(reference counting)。一旦最后一个这样的指针被销毁,也就是一旦某个对象的引用计数变为0,这个对象会被自动...
  • 浅析shared_ptr 和weak_ptr、定制删除器

    千次阅读 2017-04-17 17:16:20
    记录了有多少个shared_ptrs共同指向一个对象(即引用计数),它基本上解决了在使用c++开发过程中不可避免的使用指针而遇到的许多问题,例如:内存泄漏和内存的提前释放,还有由于指针内存申请而产生的异常问题等。...
  • C++ auto_ptr

    2010-04-13 10:57:00
    auto_ptr 类是一个模板类,它被定义在 memory 头文件中。...auto_ptr 在拷贝和赋值的时候有不寻常的行为,因此 auto_ptrs 不能被保存在 stl 的容器中。当 auto_ptr 离开了自己的作用域或者被销毁,由
  • c++智能指针auto_ptr和shared_ptr

    千次阅读 2013-03-07 16:08:54
    1.智能指针——auto_ptr  auto_ptr 类可以用于...auto_ptr 在拷贝和赋值的时候有不寻常的行为,因此 auto_ptrs 不能被保存在 stl 的容器中。当 auto_ptr 离开了自己的作用域或者被销毁,由 auto_ptr 管理的对象
  • auto_ptr 在拷贝和赋值的时候有不寻常的行为,因此 auto_ptrs 不能被保存在 stl 的容器中。当 auto_ptr 离开了自己的作用域或者被销毁,由 auto_ptr 管理的对象也会被销毁。 使用std::auto_ptr需要的头文
  • R.23: Usemake_unique()to makeunique_ptrs R.23:使用make_unique构建unique_ptr Reason(原因) For convenience and consistency withshared_ptr. 出于习惯。保持和shared_ptr用法的一致性。 Note(注意) ...
  • C++——auto_ptr

    千次阅读 2010-01-16 22:48:00
    auto_ptr 类是一个模板类,它被定义在 memory 头文件中。...auto_ptr 在拷贝和赋值的时候有不寻常的行为,因此 auto_ptrs 不能被保存在 stl 的容器中。当 auto_ptr 离开了自己的作用域或者被销毁,由 auto_ptr
  • 2)永远不要使用两个 auto_ptrs 对象指向同一对象,导致这个错误的一种明显方式是,使用同一指针来初始化或者 reset 两个不同的 auto_ptr对象。另一种导致这个错误的微妙方式可能是,使用一个 auto_ptr 对象
  • auto_ptr的使用误区

    2004-10-19 16:25:00
    1. auto_ptrs cannot share ownership.An auto_ptr must not refer to an object that is owned by another auto_ptr (or otherobject). Otherwise, if the first pointer deletes the object, the other pointer su
  • C++标准模板库中的auto_ptr

    千次阅读 2011-06-15 15:42:00
    标准模板库源代码:namespace std{ // 特殊类,用于non-const auto_ptrs的拷贝和赋值 // 由于auto_ptr的拷贝构造、赋值运算都需要使用引用传递参数(否则会照成指针所有权并没有真正移交) // 因此需要支持当临时...
  • @ [受电子邮件保护]示例:在两个nft_ptrs之间移动auto ptr1 = make_nft (); nft_ptr ptr2; ptr2 = std :: move(ptr1); 这会将代表母牛的内存地址的不可替代令牌0x7faa4bc09c90从ptr1(OpenSea,Etherscan)传输...
  • #include struct S: enable_shared_from_this { }; Don't do this: S *p = new S; shared_ptr sp2 = p->shared_from_this(); // throws std::bad_weak_ref ...shared_ptr p(new S);...shared_ptr s
  • shared_ptr的内部实现原理

    千次阅读 2019-12-20 19:04:01
    本文先分析shared_ptr的内部实现原理,然后实例演示shared_ptr的使用。 1. 实现原理 shared_ptr的定义如下: template<class _Ty> class shared_ptr : public _Ptr_base<_Ty> shared_ptr从基类_...
  • TypeError: Expected Ptr<cv::UMat> for argument '%s' 详细错误如下: Traceback (most recent call last): File "D:/gitProject/ocr_screenRecognition/antiMissing/OperationTicket.py", line 119, in ...
  • auto_ptr & shared_ptr

    2013-04-04 11:08:08
    auto_ptr和shared_ptr都是智能指针的一种实现,所谓智能指针,多数情况下都是指这样的一些对象:   1. 内部有一个动态分配对象的指针,拥有该对象的使用权和所有权(独占或共享)。 2. 重载*和->操作,行为...
  • scoped_ptr

    千次阅读 2009-12-21 08:46:00
    scoped_ptr头文件: "boost/scoped_ptr.hpp"boost::scoped_ptr 用于确保动态分配的对象能够被正确地删除。scoped_ptr 有着与std::auto_ptr类似的特性,而最大的区别在于它不能转让所有权而auto_ptr可以。事实上,...
  • ptr_fun

    千次阅读 2012-05-05 20:21:16
    转自:http://www.cplusplus.com/reference/std/functional/ptr_fun/ template pointer_to_unary_function ptr_fun (Result (*f)(Arg));... pointer_to_binary_function ptr_fun (Result (*f)(Arg1,A
  • C++11学习之share_ptr和weak_ptr

    千次阅读 2016-08-14 17:53:18
    一、shared_ptr学习1.shared_ptr和weak_ptr 基础概念 shared_ptr与weak_ptr智能指针均是C++ RAII的一种应用,可用于动态资源管理 shared_ptr基于“引用计数”模型实现,多个shared_ptr可指向同一个动态对象,并维护...
  • weak_ptr简单实现

    千次阅读 2018-04-24 23:11:41
    #include &lt;iostream&gt; class Counter { public: Counter() :s(0), w(0){};... int s;...//为了用weak_ptr的lock(),来生成share_ptr用,需要拷贝构造用 template&lt;class T&gt;...
  • weak_ptr

    千次阅读 2007-05-11 00:21:00
    weak_ptr 是 shared_ptr 的观察员。它不会干扰shared_ptr所共享的所有权。当一个被weak_ptr所观察的 shared_ptr 要释放它的资源时,它会把相关的 weak_ptr的指针设为空。这防止了 weak_ptr 持有悬空的指针。为什么会...
  • shared_ptr Analysis

    千次阅读 2015-09-24 07:33:21
    If the object pointer is shared between shared_ptrs, its associated data - used counter must be shared as well. According this skill, I wrote a lite shared_ptr which can pass the minimal function ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 190,847
精华内容 76,338
关键字:

ptrs