回答編集履歴
1
m_nPop==0を考慮
answer
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
```c++
|
2
|
+
std::unique_ptr<IStackElem> self;
|
3
|
+
if (m_nPop > 0) {
|
2
|
-
|
4
|
+
self = std::move(m_Owner.top());
|
3
|
-
|
5
|
+
for (int i = 0; i < m_nPop; ++i) m_Owner.pop();
|
6
|
+
}
|
4
|
-
|
7
|
+
m_Owner.push(std::move(m_ToBePushed));
|
5
8
|
```
|
6
9
|
のようなことが可能だと思います。staticメンバのアプローチより少しコードがシンプルかも、という程度ですが。
|
7
10
|
|