- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码使用迭代器将项目插入双链表。这就是我们被要求这样做的方式。代码有效,但问题是我有 24 字节的绝对内存泄漏。
NodeIterator insert(NodeIterator & itrPassed, const T datapassed)
{
Node * newNode = new Node(datapassed);
Node* previousOfCurrent = itrPassed.getCurrent()->previous;
previousOfCurrent-> next = newNode;
newNode -> previous = previousOfCurrent;
newNode -> next = itrPassed.getCurrent();
itrPassed.setCurrent(newNode);
return itrPassed;
}
我知道问题出在这行 Node
.我无法删除 newNode 对象,因为我正在返回一个指向它的迭代器并且它在我的链表中使用。
如何解决这个问题?
1 Câu trả lời
我看到的一个问题是您没有更新当前节点的 previous
。当前节点的previous
仍然指向老节点。因此,如果您使用 previous
遍历节点,您将跳过新创建的节点。
我看到的另一个问题是您在访问 previousOfCurrent
时没有检查它是否是一个有效指针。
不确定修复它们是否会解决您的内存泄漏问题。
NodeIterator insert(NodeIterator & itrPassed, const T datapassed)
{
Node * newNode = new Node(datapassed);
Node* previousOfCurrent = itrPassed.getCurrent()->previous;
// Prevent accessing a nullptr
if ( previousOfCurrent != nullptr )
{
previousOfCurrent-> next = newNode;
newNode -> previous = previousOfCurrent;
}
newNode -> next = itrPassed.getCurrent();
// Add this
itrPassed.getCurrent()->previous = newNode;
itrPassed.setCurrent(newNode);
return itrPassed;
}
关于c++ - 如何删除正在使用的对象(节点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47143764/
Tôi biết cách tạo cơ sở dữ liệu sqlite, chèn dữ liệu vào đó, xóa hàng, v.v. thông qua phát triển iPhone nhưng tôi đang cố gắng xóa toàn bộ cơ sở dữ liệu theo chương trình và không nhận được bất kỳ trợ giúp nào. Xin vui lòng ai đó có thể hướng dẫn tôi cách xóa/gỡ bỏ toàn bộ sqlite khỏi thiết bị thông qua mã
Vui lòng hướng dẫn cách xóa cơ sở dữ liệu trong Teradata. Khi tôi chạy lệnh DROP DATABASE database_name, tôi nhận được thông báo lỗi: *** Failure 3552 Cannot DROP d
Lệnh xóa cho quy tắc cảnh báo Azure dường như không hoạt động, đã thử phương pháp sau, nó trả về trạng thái là Không có nội dung và cảnh báo không bị xóa Lệnh đã sử dụng Remove-AzAlertRule -ResourceGroup "RGName" -Na
Tôi đã lập chỉ mục khoảng 50.000 video trong flex search, nhưng khi đạt đến khoảng 52.000, toàn bộ dữ liệu sẽ bị xóa. Hmm, điều này thực sự kỳ lạ với tôi, tôi không thiết lập bất kỳ kích thước Heap hay kích thước bộ nhớ tối thiểu hoặc tối đa nào cho ES, vì vậy chúng không hoạt động.
Vấn đề tôi đang gặp phải là lỗi biểu mẫu "Nhập 'slug' hợp lệ bao gồm các chữ cái, số, dấu gạch dưới hoặc dấu gạch nối." Sau đây là xác thực trường biểu mẫu của tôi: def clean_slug(self): slug = self.c
Khi đọc tài liệu, tôi mong đợi $("#wrap2").remove(".error") sẽ xóa tất cả các phần tử .error khỏi #wrap2. Tuy nhiên, hãy xem JSFiddle này: http://jsfiddle.net/h
Xin chào, tôi đang cố gắng khám phá Laravel lần đầu tiên. Tôi đang bắt đầu với Laravel 4.2 và tôi vừa tạo một dự án mới nhưng vô tình tôi đã viết dòng lệnh composer create-project laravel/lara như thế này
Tôi đã tìm kiếm trên web một thời gian nhưng không tìm ra cách xóa hoàn toàn apache 2.4. Sử dụng: Windows 7 c:\apache24\ Tôi đã thử tất cả các lệnh nhưng không có lệnh nào hiệu quả. httpd -k shu
Có lẽ đây là câu trả lời đơn giản, nên xin lỗi trước (do tôi không có nhiều kinh nghiệm viết mã). Tôi đang cố gắng xóa bất kỳ hàng nào có chuỗi cụ thể (economy 7) khỏi bất kỳ cột nào và đã thử những thứ ngoài luồng này: Cách xóa hàng khỏi pandas
Có một số cách để xóa/loại bỏ các mục khỏi một vectơ. Tôi có một vector con trỏ và tôi cần xóa tất cả chúng trong hàm hủy của lớp. Cách hiệu quả nhất/nhanh nhất hoặc thậm chí an toàn nhất để thực hiện việc này là gì? // 1º std::for_each(v
Tôi đã cài đặt máy chủ VNC và đọc ở đâu đó rằng tôi phải cài đặt xinetd. Sau đó tôi quyết định xóa máy chủ VNC, vì thế tôi cũng xóa xinetd. Có vẻ như xinetd đã xóa một số tệp liên quan đến plesk. Nếu
Tôi đã tạo một ứng dụng tải video từ máy chủ của chúng tôi. Vấn đề là: Khi tôi hủy tải xuống, tôi gọi: myAsyncTask.cancel(true) Tôi nhận thấy rằng myAsyncTask không dừng lại khi lệnh cancel được gọi... P của tôi
Có thể kiểm tra xem một mô hình có tồn tại hay không trước khi xóa nó bằng DELETE_MODEL? Tôi đang cố gắng tránh nhận được thông báo lỗi khi cố gắng xóa một mô hình chưa được tạo. Về cơ bản, tôi đang tìm kiếm thứ tương đương với: DROP TABLE IF EXISTS nhưng dành cho các mô hình. hầu hết
Tôi đã có đoạn mã này: Nhưng nó vẫn tạo ra một mục nhập hàng trong bảng. Điều tôi muốn làm là khi số lượng nhập vào bằng 0, hàng trong bảng sẽ bị xóa. Xin hãy kiên nhẫn vì tôi mới làm quen với mã hóa php và mySQL. Câu trả lời hay nhất Bạn quên thực hiện truy vấn. Nó phải là $que
Trong SharePoint, nếu bạn xóa/sửa một lần xuất hiện duy nhất của mục lịch lặp lại, thì thực tế không có nội dung nào bị xóa/sửa đổi - thay vào đó, một mục mới sẽ được tạo, thông báo cho SP rằng đối với một ngày cụ thể, sự kiện không tồn tại hoặc có tham số mới.
Trong routes.php tôi có tuyến đường sau: Route::post('dropzone', ['as' => 'dropzone.upload', 'uses' => 'AdminPhotoContr
Trong ứng dụng của mình, tôi đang cố gắng xóa một sản phẩm. Khi tôi xóa sản phẩm lần đầu, nó thành công và URL thay đổi thành /remove_category/15. Tôi đang kết xuất vào cùng một trang. Bây giờ khi tôi cố gắng xóa một sản phẩm khác thì url thay đổi thành /rem
Câu hỏi này đã được hỏi nhiều lần, nhưng các câu trả lời đưa ra đều dành riêng cho GNU sed. sed -i '' "/${FIND}/,+2d""$FILE" đưa ra lỗi "địa chỉ ngữ cảnh mong đợi". Có ai có thể cho tôi một ví dụ về cách sử dụng không?
Tôi không tìm ra cách nào để xóa và dọn dẹp bản đồ Google khi sử dụng API V3. Tôi đang chạy nó trên một trang web AJAX, vì vậy tôi muốn tắt nó hoàn toàn mà không cần tải lại trang. Tôi ước có một .unload() hoặc .de
Có thể tạo người dùng Azure SQL Database có thể thực hiện các thao tác sau không: CHỌN trên tất cả các bảng và chế độ xem Tạo/thay đổi/xóa chế độ xem Nhưng người dùng không được có các quyền sau: Chèn/cập nhật bất kỳ bảng hoặc chế độ xem nào
Tôi là một lập trình viên xuất sắc, rất giỏi!