void fct() { int jack_count = 0; double* jack_data = get_from_jack(&jack_count); vector<double>* jill_data = get_from_jill(); double* jack_high = high(jack_data,jack_data+jack_count); vector<double>& v = *jill_data; double* jill_high = high(&v[0],&v[0]+v.size()); cout << "Jill's high " << *jill_high << "; Jack's high " << *jack_high; // ... delete[] jack_data; delete jill_data; }
void fct() { int jack_count = 0; double* jack_data = get_from_jack(&jack_count); vector<double>* jill_data = get_from_jill(); double* jack_high = high(jack_data, jack_data + jack_count); vector<double>& v = *jill_data; double* jill_high = high(&v[0], &v[0] + v.size()); if(jack_high != nullptr && jill_high != nullptr) // ヌルポインタでないか確認 cout << "Jill's max: " << *jill_high << "; Jack's max: " << *jack_high; //... delete[] jack_data; delete jill_data; }
void fct() { int jack_count = 0; double* jack_data = get_from_jack(&jack_count); vector<double>* jill_data = get_from_jill(); vector<double>& v = *jill_data; double* middle = &v[0]+v.size()/2; double* high1 = high(&v[0], middle); // max of first half double* high2 = high(middle, &v[0]+v.size()); // max of second half cout << "max of first half: " << *high1 << "; max of second half: " << *high2; delete[] jack_data; delete jill_data; }