Als «initialization» getaggte Fragen

4
Wie rufe ich den richtigen Konstruktor eines Vorlagentyps auf?
Wie kann ich im folgenden Code dafür sorgen, dass die kommentierte Zeile genauso funktioniert wie die Zeile direkt darüber? Ich möchte daraus einen generischen Code machen, der einen geeigneten Konstruktor einer Vorlage aufruft Type. #include <string> #include <iostream> template <typename Type> struct Class { Type data; Class(Type data) : data(data) …




1
Überträgt std :: ptr :: write die „Uninitialisierung“ der geschriebenen Bytes?
Ich arbeite an einer Bibliothek, mit deren Hilfe Typen abgewickelt werden können, die über FFI-Grenzen in eine Zeigergröße passen. Angenommen, ich habe eine Struktur wie diese: use std::mem::{size_of, align_of}; struct PaddingDemo { data: u8, force_pad: [usize; 0] } assert_eq!(size_of::<PaddingDemo>(), size_of::<usize>()); assert_eq!(align_of::<PaddingDemo>(), align_of::<usize>()); Diese Struktur hat 1 Datenbyte und 7 Füllbytes. …

1
Initialisierung von Time Warping-Variablen?
In der folgenden einfachen for-Schleife erstellen wir ein Array (@a), indem wir eine typenlose Variable ($ n) inkrementieren: my @a = do for 1..3 { state $n; $n.^name, $n++; } say @a; Das Ergebnis wird "irgendwie" erwartet: [(Any 0) (Int 1) (Int 2)] Und ich sage "irgendwie", weil ich als …


1
Struktur mit {0} initialisieren
Ich debugge einen Code, der im Wesentlichen mit diesem identisch ist: struct Foo { int a; int b; }; struct Bar { Bar() {} Foo foo{0}; }; Wenn ich eine Instanz von mache Bar, scheint es wie beides aund bwird auf Null initialisiert. Ist das garantiert? Wo finde ich das …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.