- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在自学 C++,但在创建析构函数时遇到了一些问题。
这是我正在努力处理的主要部分的代码
#include <list>
using namespace std;
class Test
{
private:
list<char> *tempList;
public:
Test()
{
tempList->push_back('a');
tempList->push_back('b');
tempList->push_back('c');
}
~Test()
{
while (tempList->size() != 0)
{
tempList->pop_back();
}
}
};
如您所见,我正在使用 std::list 来实现双向链表。目前我正在摆弄它,因此为什么将变量命名为 tempList 以及为什么我将 a、b、c 放在那里。
我需要一些帮助来创建析构函数。我曾尝试创建自己的解决方案,但后来我开始谷歌搜索其他解决方案,但没有一个看起来像我的。
我想让我的析构函数做的主要事情是清理 tempList,它是一个 char 的双向链表。我认为需要做的是我需要找出一种方法来删除链表中的每个元素。
最佳答案
假设 tempList
已正确分配和释放(现在还没有),您不必调用任何东西 - 列表中的元素将自动销毁。
最简单和最干净的解决方案是根本没有指针:
class Test
{
private:
list<char> tempList;
public:
Test()
{
tempList.push_back('a');
tempList.push_back('b');
tempList.push_back('c');
}
};
关于使用 pop_back 的 C++ 析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23286829/
来自 C++ Primer 以及 https://en.cppreference.com/w/cpp/container/priority_queue ,我知道: A priority_queue r
我有以下函数来计算两个笛卡尔点之间的距离,以及其中一个点关于 z 轴的镜像。 inline std::vector distances( MyCartesian const & point_i
我有以下创建 Stack 对象的主程序,用 double 填充它,然后弹出它们。代码文件很好,但 pop_back() 部分似乎不起作用,而 s.back() 确实返回了正确的值。这怎么可能? #in
为什么 pop_back() 没有返回值?我用谷歌搜索了一下,发现它可以提高效率。这是在标准中这样做的唯一原因吗? 最佳答案 效率与它几乎没有关系(或者根本没有关系)。 此设计是 an importa
为什么 pop_back() 没有返回值?我用谷歌搜索了一下,发现它可以提高效率。这是在标准中这样做的唯一原因吗? 最佳答案 效率与它几乎没有关系(或者根本没有关系)。 此设计是 an importa
为什么 pop_back() 没有返回值?我对此进行了谷歌搜索,发现它可以提高效率。这是在标准中这样做的唯一原因吗? 最佳答案 效率与它几乎没有关系(或者根本没有关系)。 这个设计是 an impor
我有一个像这样的配对 vector vector > Names; 我是这样放数据的: cin>>taxi>>Ar_taxis>>Ar_mathiton; for(j=0;j
列表.H void List::pop_back() { if (size == 0) cout next != NULL) iterator = it
如果有一个指针指向 vector 的最后一个元素,我想删除该元素但通过指针保留数据,我该怎么做? vector a; a.push_back(1); int * b = a[0]; a.pop_bac
给出下面的代码(假设它被命名为deque.cpp) #include #include int main() { std::deque d = {1, 2, 3}; for (auto i
std::string pop_back() : 移除字符串的最后一个元素 在 C++ 规范中说 C++11 字符串类函数 pop_back 具有常数时间复杂度。 (更准确地说 - 未指定但通常不变)
我在修改字符串时遇到问题。感谢您的协助;谢谢! struct Drawings::menues { std::vector variable; } Menue[numMenues]; Menu
我刚刚开始学习数据结构,并且正在实现某种数组列表(~=std::vector)。我想知道 pop_back() 是如何实现的,以便它具有恒定的复杂性?它必须将大小减少 1 并删除最后一个元素。现在我在
我有以下创建 Stack 对象的主程序,用整数填充它然后弹出它们。代码文件很好,但 pop_back() 部分似乎不起作用,即使在 pop_back() 打印所有值之后也是如此。这怎么可能? #inc
在下面的代码中,我实现了双向链表。我得到的输出为 56 2 3 4 0而不是 56 2 3 4 .但是,如果我删除 lt.erase(5); lt.push_back(46);然后我得到正确的输出。我
我目前正在自学 C++,但在创建析构函数时遇到了一些问题。 这是我正在努力处理的主要部分的代码 #include using namespace std; class Test { priv
这个问题在这里已经有了答案: When could std::priority_queue::pop throw an exception (1 个回答) 关闭 4 年前。 我很惊讶地看到标准 C+
所以我正在尝试为我的 Vector 类实现一个 pop_back() 函数,但我没有得到预期的结果: 这是我当前的功能: template void Vector::pop_back() {
代码: #include #include #include #include struct myClass { bool bIsDead; myClass(bool bDea
我试图理解 vector::pop_back() 的行为。所以我有以下代码片段: vector test; test.push_back(1); test.pop_back(); cout 0 的元
我是一名优秀的程序员,十分优秀!