我遇到了一些基本上看起来像这样的代码:

#include<iostream>

// in a header file
class xxx{
  public:
    xxx() { xxx_[0]=0; xxx_[1]=0; xxx_[2]=0;}
    double x0() const {return xxx_[0];}
  private:
    double xxx_[3];  // ???
};

// in the main.cpp
int main(){
  xxx x;
  std::cout<<x.x0()<<"\n";
}


问题是---声明标准确实允许将固定大小的数组声明为类成员吗?

最佳答案

上面的代码没有错。它可能不是最佳的编写方法,但是它本质上没有错。

是的,您的xxx类可能包含一个固定大小的数组作为成员。它也允许在C中使用。

即使读取标头以使用它,编译器也知道将sizeof(xxx)设置为多大。

关于c++ - 类声明中固定大小的C样式数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9260298/

10-11 18:01