Changes between Version 1 and Version 2 of Ticket #101, comment 16


Ignore:
Timestamp:
12/26/16 12:00:37 (7 years ago)
Author:
nikulin.dmitrij
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #101, comment 16

    v1 v2  
    1 Если убрать из упавшего теста лишнее, там остаётся вот это:
    2 
    3 
    4 {{{#!c++
    5     cptr_t * p0 = new cptr_t(new CntD("obj0"));
    6     cptr_t * p2 = new cptr_t(*p0);
    7 
    8     cptr_t * p1 = new cptr_t(new Cnt("obj1"));
    9     cptr_t * p6 = new cptr_t(*p1);
    10     *p1 = *p6;
    11     delete p6; p6 = nullptr;
    12     p1->swap(*p0);
    13 
    14     assert(true && (*p1).unique());
    15 }}}
    16 
    17 
    18 Перед вызовом swap должна получаться такая структура связей linked_ptr:
    19 
    20 
    21 {{{
    22 p0 ←→ p2
    23 p1
    24 }}}
    25 
    26 
    27 Насколько я понимаю, после него должно быть
    28 
    29 
    30 {{{
    31 p1 ←→ p2
    32 p0
    33 }}}
    34 
    35 
    36 то есть непонятно, почему ожидается `(*p1).unique()`. Не могли бы вы пояснить?
     1[deleted]