[英]How to create a reference to an array created dynamically using new operator in C++?
#include<iostream>
using namespace std;
int accept(int &,int );//int accept(int*,int)
int main()
{
int n=3;
//int arr[3]={0,1,2};
int *marks=new int[n]; //creating an array dynamically
//int (&ref_arr)[3]=arr;// I know how to create a reference to statically created array;
int* &ref_marks=marks;//creating reference for array;
accept(ref_marks,n);
return 0;
}
int accept(int &marks,int n)
{
int i;
for(i=0;i<n;i++)
{
cin>>marks[i];
}
return 0;
}
您能否幫我創建對堆區域上的數組的引用。
你可以寫:
using int3 = int[3];
int3& ref = reinterpret_cast<int3&>(*marks);
但是,最好只使用std::array
或std::vector
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.