类构造函数是否具有未定义的行为

Vit*_*one 0 c++ c++11

我的下面的类有未定义的行为?我认为它很明确,因为我通过引用传递构造函数参数.我对吗?

class C
{
  int* elem;
  public:
    C(int s[]) :elem(s){}; // Array arguments passed by reference, so its well defined?
    void Print()
    {
      cout << elem[1] << endl;
    }
    ~C()
    {
       delete[] elem; 
    }
};
int main()
{
    C x(new int[2]{1,3});
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Nik*_* C. 5

您的代码中没有未定义的行为.此外,您不是通过引用传递,而是按值传递指针.