Natknąłem się na funkcję z tą sygnaturą.Przesyłanie argumentów tablicowych przez odniesienie
void foo(char (&x)[5])
{
}
Jest to składnia służąca do przekazywania tablicy o stałym rozmiarze przez odwołanie.
Fakt, że wymaga nawiasów wokół &x
, wydaje mi się niezwykły.
Jest to prawdopodobnie część standardu C++ 03.
Co to jest ten formularz i czy ktoś może wskazać odniesienie do normy?
C++ decl nie jest przyjacielem jeszcze:
$ c++decl
Type `help' or `?' for help
c++decl> explain void foo(char (&x)[5])
syntax error
Nie mogę wskazać standardu, ale uważam, że dzieje się tak, ponieważ 'char & x [5]' jest tablicą 5-znakowych odniesień, a nie odwołaniem do tablicy znaków o długości 5. –
'C++ decl' jest twoim przyjacielem :-) –
8.3.2 Referencje "Nie będzie odwołań do referencji, tablic referencyjnych ani żadnych odnośników do referencji." –