मैं वेक्टर के डेटा को क्रमबद्ध करने की कोशिश कर रहा हूं। नीचे दिए गए नमूने में मैं एक स्ट्रिंग को क्रमबद्ध करता हूं, और उसके बाद वेक्टर को वापस भेजता हूं, लेकिन उसी डेटा को प्राप्त नहीं करता जिसके साथ मैंने शुरुआत की थी। यह एक केस क्यों है?वेक्टर क्रमबद्धता
vector<size_t> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
string s((char*)(&v[0]), 3 * sizeof(size_t));
vector<size_t> w(3);
strncpy((char*)(&w[0]), s.c_str(), 3 * sizeof(size_t));
for (size_t i = 0; i < w.size(); ++i) {
cout << w[i] << endl;
}
मैं उत्पादन
1
2
3
प्राप्त करने के लिए, लेकिन इसके बजाय (gcc-4.5.1 पर) उत्पादन
1
0
0
मिल
@Mark: मुझे नहीं लगता कि ऐसी बात है है। –