小编Dim*_*imK的帖子

静态变量有什么问题吗?

我对程序有问题。我敢打赌,这与我使用静态这一事实有关。这是我的

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 ++怎么可能?有任何想法吗?

提前致谢

c static

2
推荐指数
1
解决办法
64
查看次数

是否可以在 new 执行期间在构造函数中传递不同的参数?

假设我有一个带有构造函数的类:

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++ 中做到这一点?提前致谢!!

c++ constructor new-operator

2
推荐指数
1
解决办法
46
查看次数

标签 统计

c ×1

c++ ×1

constructor ×1

new-operator ×1

static ×1