D Language
डायनेमिक एरे और स्लाइस
खोज…
वाक्य - विन्यास
- <प्रकार> [] <नाम>;
टिप्पणियों
स्लाइस मौजूदा मेमोरी पर एक नया दृश्य उत्पन्न करते हैं। वे एक नई प्रति नहीं बनाते हैं। यदि कोई स्लाइस उस मेमोरी का कोई संदर्भ नहीं रखता है - या इसका एक कटा हुआ हिस्सा - यह कचरा कलेक्टर द्वारा मुक्त किया जाएगा।
स्लाइस का उपयोग करते हुए उदा। पार्सर्स के लिए बहुत कुशल कोड लिखना संभव है जो सिर्फ एक मेमोरी ब्लॉक पर काम करते हैं और सिर्फ उन हिस्सों को स्लाइस करते हैं जिन पर उन्हें वास्तव में काम करने की आवश्यकता होती है - नए मेमोरी ब्लॉकों को आवंटित करने की कोई आवश्यकता नहीं है।
घोषणा और आरंभीकरण
import std.stdio;
void main() {
int[] arr = [1, 2, 3, 4];
writeln(arr.length); // 4
writeln(arr[2]); // 3
// type inference still works
auto arr2 = [1, 2, 3, 4];
writeln(typeof(arr2).stringof); // int[]
}
संचालन संचालित करें
import std.stdio;
void main() {
int[] arr = [1, 2, 3];
// concatenate
arr ~= 4;
writeln(arr); // [1, 2, 3, 4]
// per element operations
arr[] += 10
writeln(arr); // [11, 12, 13, 14]
}
स्लाइस
import std.stdio;
void main() {
int[] arr = [1, 2, 3, 4, 5];
auto arr2 = arr[1..$ - 1]; // .. is the slice syntax, $ represents the length of the array
writeln(arr2); // [2, 3, 4]
arr2[0] = 42;
writeln(arr[1]); // 42
}
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow