关于处理自己实例的类的规则是什么?

时间:2017-02-25 10:15:14

标签: c++ c++11

我的代码库中有这段代码:

inline void Widget::setParent(Widget& roWidget)
{
   auto upoSelf = m_poParent->remove(*this);
   upoSelf->m_poParent = &roWidget;
   roWidget.m_aupoChildren.emplace_back(std::move(upoSelf));
}

在这种情况下,upoSelf始终是std::unique_ptr指向this的对象Widget::setParent。所以实质上,Widget具有处理其自身函数内的mShowDetailsButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { for (int i = 0; i < mItemsList.getAdapter().getCount(); i++) { listView.performItemClick( getViewByPosition(i), i, listView.getAdapter().getItemId(i)); } } }); //the listview getChildAt only return the view(item) that is visible, //therefore add a function to get invisible view together public View getViewByPosition(int position) { int firstItemPosition = listView.getFirstVisiblePosition(); int lastItemPosition = firstItemPosition + listView.getChildCount() - 1; if (position < firstItemPosition || position > lastItemPosition ) {//is invisible return listView.getAdapter().getView(position, null, listView); } else { int childIndex = position - firstItemPosition;//is visible return listView.getChildAt(childIndex); } } 对象的行为。

我想知道是否有任何类型的UB或有关其如何运作的规则。

0 个答案:

没有答案