假设对象有一个析构函数:
anObject::~anObject()
{
_functionCalledfromDestructor=1; //this sets the flag = 1
functionCall(); //this function does something different than usual
//on seeing the flag
}
Run Code Online (Sandbox Code Playgroud)
我的问题:
这种在析构函数中编码的样式/方法是一种好的做法吗?
我在C++数组中操作数据时遇到了另一个问题.我现在想通过从中删除所有零来抽取数组.
例如,在我拥有array[4] = {1,2,0,0,4}它之前说它会成为array[3] = {1,2,4}.
我知道我需要使用for循环来遍历存储主数据的数组,并且我很可能需要初始化一个新数组来存储抽取数据,但我不太清楚如何去做.
如何纠正它,以便我可以显示静态int
cout<<A::a<<endl;
Run Code Online (Sandbox Code Playgroud)
比如下面的例子?
#include <iostream>
using namespace std;
class A{
public:
static int a = 0;
};
int main()
{
cout << A::a << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我需要创建一个给定大小的方阵。我知道如何创建给定大小的动态一维数组。对于像下面几行这样的两个维度数组,这不是同样的工作吗?
cin>>size;
int* a[][]=new int[size][size]
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个游戏,我需要同时播放许多声音我知道 v.basic 或者只是知道 func。PlaySound()运行.wav声音。
问题是SND_ASYNC我不能一次播放多个声音,但第一个播放的声音在中间跳过并播放下一个声音。
有什么方法(简单易懂)可以同时播放多个声音?
我不知道这段代码发生了什么.这是我必须理解的一段代码.
orange::orange():
hello_short(false),
hello_long(false),
foo(NULL),
foo2(NULL),
quiet(false)
{
res = NULL;
good = true;
}
Run Code Online (Sandbox Code Playgroud) 实现类似matlab函数检查std :: vector是否为空的最有效方法是什么?
这是我想要的示例代码
for (int i = 0; i<N; i++) {
tmp = x[i];
if ((tmp > max) || (tmp < max)) {
indexout.push_back(tmp);
}
if ((tmp < min) && (tmp > max)) {
indexin.push_back(tmp);
}
}
if (isempty(indexin)) { //heres the part i don't know how to do
//do something
}
else
Run Code Online (Sandbox Code Playgroud)