पर कॉपी कैसे कर सकता हूं, मैंने डेटा स्टोर करने के लिए सरणी का उपयोग किया था, लेकिन मैंने वेक्टर के साथ प्रतिस्थापित किया, इसलिए मैं सभी सी ऑपरेटरों को सी ++ ऑपरेटरों के साथ बदलना चाहता हूं। मैं एक स्मृति ब्लॉकमैं एक वेक्टर ब्लॉक को अन्य
for (i = 0; i < rows_; i++)
memcpy((T *) &tmp.data_[cols_ * i], (T *) &a.data_[cols_ * (2 * i + 1)], rows_ * sizeof(T));
यह भी वैक्टर के साथ काम कर रहा है कॉपी करने के लिए memcpy इस्तेमाल किया, मैं सिर्फ जानना चाहता हूँ वहाँ ग में एक समान कार्य है ++?
std::copy(tmp.data_[cols_ * i], tmp.data_[cols_ * i+rows], a.data_[cols_ * (2 * i + 1)]);
लेकिन मैं निम्न त्रुटि प्राप्त कर रहा हूँ:
error: invalid use of member function (did you forget the ‘()’ ?)
उदाहरण के लिए:
मैं एक 2xnxn आकार सरणी है और मैं उपयोग कर रहा हूँ
मैं नकल करने की कोशिश की इसके बजाय एक nxn सरणी बनाने के लिए चक्र के लिए। उदाहरण के लिए मेरे पास 1 2 3 4 5 6 7 8 है, मेरी नई सरणी निम्नलिखित है: 3 4 7 8. मैंने इसे प्राप्त करने के लिए memcpy का उपयोग किया, लेकिन मुझे नहीं पता कि मैं C++
क्या आपने ['std :: copy'] (http://www.cplusplus.com/reference/algorithm/copy/) की कोशिश की है? – WhozCraig
'std :: copy'। वास्तव में आपको इसका उपयोग सरणी के साथ भी करना चाहिए। – Yuushi
हां मैंने कोशिश की: std :: copy (tmp.data_ [cols_ * i], tmp.data_ [cols_ * i + पंक्तियां], a.data_ [cols_ * (2 * i + 1)]); –