指向类对象和初始化成员值的指针数组

Ali*_*ino 2 c++ arrays pointers

我试图为数组的每个条目分配内存并将成员part1和part2初始化为0。

#include <iostream>
using namespace std;

class Two {
public:
    int part1;
    int part2;
};


int main() {

    Two * dp[10]; //array of 10 pointers to objects of class Two

    part1 = 0;
    part2 = 0;

    for (int i = 0; i < 10; i++) { 
        dp[i] = 0;                        

    }
    return 0; 
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。我是 C++ 新手,我正在尝试理解基本概念。先感谢您!

tad*_*man 5

new这是用于分配内存的代码的基本版本:

#include <iostream>

class Two {
public:
  Two() : part1(0), part2(0) { };
  int part1;
  int part2;
};


int main() {
  const size_t count = 10;
  Two *dp = new Two[count];

  // Do stuff?

  for (size_t i = 0; i < count; ++i) {
    std::cout << dp[i].part1 << "/" << dp[i].part2 << std::endl;
  }

  delete[] dp;

  return 0; 
}
Run Code Online (Sandbox Code Playgroud)

请注意,出于多种原因,这是一个坏主意,但如果您因为老师而需要避开标准库,那么这就是您应该去的地方。

  • 我来这里“因为老师”。谢谢。为什么我分配的项目不允许矢量,我永远不会知道。 (2认同)