// ((++currentEntry)--) is equivalent to (currentEntry + 1). Kind of.
menuEntries.insert((++currentEntry)--, newEntries.begin(), newEntries.end());
Run Code Online (Sandbox Code Playgroud)
所以我这里有世界上最糟糕的代码.有一个更好的方法吗?
当使用'+ 1'时,我得到这个:
source/menu.cpp:146:37: error: invalid operands to binary expression
('list<menuEntry *>::iterator' (aka '_List_iterator<menuEntry *>') and
'int')
menuEntries.insert(currentEntry + 1, ...
~~~~~~~~~~~~ ^ ~
Run Code Online (Sandbox Code Playgroud)
为什么不分成多行:
iterator nextEntry = currentEntry;
menuEntries.insert( ++nextEntry, newEntries.begin(), newEntries.end());
Run Code Online (Sandbox Code Playgroud)
iterator列表的迭代器类型在哪里.就个人而言,我可能会把++nextEntry它拉到自己的路线上以进一步明确 - 但这可能是一个主观决定.
| 归档时间: |
|
| 查看次数: |
1366 次 |
| 最近记录: |