我对程序有问题。我敢打赌,这与我使用静态这一事实有关。这是我的
static int cnt;
void f();
Run Code Online (Sandbox Code Playgroud)
我的main.c
#include <stdio.h>
#include "t.h"
void main()
{
cnt=0;
printf("before f : cnt=%d\n",cnt);
f();
printf("after f : cnt=%d\n",cnt);
}
Run Code Online (Sandbox Code Playgroud)
最后是我的朋友
#include "t.h"
void f()
{
cnt++;
}
Run Code Online (Sandbox Code Playgroud)
printf两次打印cnt = 0。我做cnt ++怎么可能?有任何想法吗?
提前致谢
假设我有一个带有构造函数的类:
Class MyClass {
public:
MyClass(int arg);
private:
int a;
};
Run Code Online (Sandbox Code Playgroud)
和一个全局数组:
int MyArray[]={1,2,3,4,5,6,7,8,9,10}
Run Code Online (Sandbox Code Playgroud)
我想要一个指向 MyClass 的动态指针数组,但数组的每个元素必须调用具有不同编号的构造函数。我试图做类似的事情,但没有成功
int main()
{
int i=0;
MyClass *MyDynArray = new MyClass[10]{MyArray[i++]};
}
Run Code Online (Sandbox Code Playgroud)
是否可以在不使用向量的情况下在 C++ 中做到这一点?提前致谢!!