erase

    10熱度

    4回答

    我想「清理」一個ByteBuffer爲全零字節(全部爲0x00)。我試圖循環遍歷緩衝區中的所有位置,並將它們設置爲0x00,但效率很差。有沒有更好的方法來快速清除ByteBuffer - 與BitSet.clear()相似? 請注意,ByteBuffer.clear()在這種情況下對我來說不是一個合適的解決方案 - 我必須擦除緩衝區內的所有數據,而不是隻將指針重置爲開始。 任何提示? 編輯:Byt

    0熱度

    1回答

    我有我的程序下面的方法。 奇怪的是之後我打電話擦除的數據不會被刪除。 有什麼想法? map<int,obj>::iterator it = this->indexMap.find(id); if(it != this->indexMap.end()) { int mapSize = this->indexMap.size(); int dataSize = (*it).se

    0熱度

    2回答

    if (find(visitable.begin(), visitable.end(), ourstack.returnTop())) { ... } 我想,以確定是否在棧ourstack頂部字符可以在矢量visitable找到。如果是的話,我想從visitable中刪除這個字符。 我該如何編碼?我知道載體使用erase,但這需要該字符的具體位置(我不知道)。 這是爲我的maze-path-f

    -1熱度

    2回答

    我有字符串擦除功能的問題。我無法從特定索引中刪除單個字符。 也許我不能使用int「我」作爲迭代器?我想刪除一些字符。 #include <cstdlib> #include <iostream> #include <string> using namespace std; void deleteChars(string inputText, string inputChars);

    0熱度

    1回答

    我有一個排序的std::vector相對較小的大小(從5到20個元素)。 我用std::vector因爲數據是連續的,所以我有速度,因爲緩存。 在一個特定的點上,我需要從這個vector中刪除一個元素。 我現在有一個疑問:哪種方法可以在以下兩個選項之間移除該值的最快方法? 該元素設置爲0,並調用sort重新排序:這具有複雜性,但 元件是在相同的高速緩存行。 請致電erase將複製(或memcpy誰

    2熱度

    1回答

    我想有一個函數來從unordered_set「刪除一個元素」。 但是,當它使用擦除(begin())實現時,它變得非常慢。 (這是在g ++ - 4.5.3;也許begin()必須遍歷大量的空散列桶?) 請參閱下面的示例代碼,令人驚訝的時間。 有沒有其他一些方法來實現「刪除一個元素」,將有更大的效率? (我想允許這將迭代器失效等干預組操作。) #include <unordered_set> #

    0熱度

    1回答

    我從矢量中提取最小值。 說vector = [0,inf,inf,inf]; ExtractSmallest(vector) = 0; 然後vector = [0,1,inf,inf]; ,但現在,我們已經看到0。因此, ExtractSmallest(vector) = 1; 我代表這在我的代碼做nodes.erase(nodes.begin() + smallestPosition);

    0熱度

    1回答

    我正在構建比薩訂購應用程序。當用戶將物品添加到他的購物車時,他可以選擇轉到物品類別並瀏覽/添加新物品。我想要做的是: 主屏幕>所屬分類(首次出現)>該類別比薩餅>比薩餅詳情>購物車>所屬分類(第二外觀).. 我需要擦除活動堆棧等等在將商品添加到購物車後,如果用戶觸摸後退按鈕,他/她應該返回到CategoryList(首次出現)。 「該類別的比薩餅>比薩詳情>購物車」必須被刪除。如果他/她再次接觸,

    0熱度

    1回答

    什麼我實現更復雜一點,所以我已經剝離下來的代碼獨立列表之間語句,並作出最簡單的例子可能是複製問題: 我列出一個和B,在某些時候,我需要將1個元素從列表A移動到列表B.此對象在當前列表中存儲其位置(迭代器)。它適用於1個列表,插入和刪除。儘管如此,當在列表A的迭代週期內更改列表B時,我發現執行插入和擦除指令的順序決定了我是否遇到seg錯誤。下面是代碼: typedef struct AO_ {

    2熱度

    2回答

    我剛剛學習如何在矢量上使用迭代器,並且在運行時錯誤方面遇到了一些麻煩。下面是一段代碼: vector<int> nums; for (int i=0; i<N; i++) { nums.push_back(i+1); } vector<int>::iterator it = nums.begin(); while(nums.size() > 1) { //cout << *it