5
मैं इस प्रकार एक कोड है:`एसटीडी के साथ बदलें` std :: vector` :: array`
int n;
int get_the_number();
void some_computations();
int main()
{
n = get_the_number();
some_computations()
return(0);
}
get_the_number
समारोह कुछ इनपुट मिलता है और पूर्णांकn
, रिटर्न जो अपने कॉल के बाद संशोधित नहीं किया जाएगा। के बाद सेmy_array
का आकार एक प्रायोरी में जाना जाता है, यह एकstd::array
साथstd::vector
को बदलने के लिए संभव है:some_computation
समारोह में निम्नलिखित कोडstd::vector<my_struct> my_array; for(int i=0; i<n; i++) { my_struct struct_temp; // fill struct_temp; my_array.push_back(struct_temp); }
प्रश्न है? इसके अलावा, सकारात्मक मामले में, क्या मुझे दक्षता के मामले में लाभ की उम्मीद करनी चाहिए?
मैं
std::array<my_struct,n> my_array;
साथ वेक्टर घोषणा की जगह करने की कोशिश की, लेकिन मैं कोई त्रुटि मिलती है: सरणी के आकार निरंतर होना चाहिए। क्या इससे बचने का कोई तरीका है?
बहुत बहुत धन्यवाद।