Während Lesen eines Artikels, stieß ich auf die folgende Funktion:Odd Syntax in C++: return {.name = value, ...}
SolidColor::SolidColor(unsigned width, Pixel color)
: _width(width),
_color(color) {}
__attribute__((section(".ramcode")))
Rasterizer::RasterInfo SolidColor::rasterize(unsigned, Pixel *target) {
*target = _color;
return {
.offset = 0,
.length = 1,
.stretch_cycles = (_width - 1) * 4,
.repeat_lines = 1000,
};
}
Was ist der Autor mit der Aussage Rückkehr tun? So etwas habe ich noch nicht gesehen, und ich weiß nicht, wie ich danach suchen soll ... Gilt es auch für reines C?
Edit: link to the original article
Gültig in C, Nicht-Standard-Erweiterung einiger Compiler für C++ (ab C++ 11 ist diese Funktionalität nicht im C++ - Standard.) –
Siehe [der C-Standard] (http: //www.open- std.org/jtc1/sc22/wg14/www/docs/n1570.pdf), Abschnitt _6.5.2.5 Zusammengesetzte Literale_, Punkt 10 (bezüglich designierter Initialisierer). – Michael
Ich bin mir ziemlich sicher, dass das für Plain C gültig ist und _not_ für C++ gültig ist. – davmac