Udostępnij za pośrednictwem


/Zc:hiddenFriend (Wymuszanie standardowych reguł ukrytego przyjaciela języka C++)

Określa kompilator jest zgodny ze standardowym traktowaniem języka C++ ukrytych funkcji lub szablonów funkcji przyjaznych.

Składnia

/Zc:hiddenFriend[-]

Uwagi

Opcja /Zc:hiddenFriend włącza podzbiór /permissive- zachowania opcji. Informuje kompilator, aby był zgodny ze standardem dla ukrytych znajomych. Kompilator zawiera tylko ukrytych znajomych w wyszukiwaniu zależnym od argumentów (ADL) dla jawnych wystąpień lub parametrów szablonu otaczającego typu klasy. Ograniczenie pozwala używać ukrytych znajomych, aby zachować operacje na typie przed zastosowaniem do niejawnych konwersji. Ta opcja może zwiększyć szybkość kompilacji w kodzie, który w przeciwnym razie nie może używać polecenia /permissive-.

Ukryty przyjaciel to friend szablon funkcji lub funkcji zadeklarowany tylko w ramach definicji szablonu klasy lub klasy. Domyślnie kompilator języka Microsoft C++ nie usuwa ukrytych deklaracji znajomych jako kandydatów do rozpoznawania przeciążeń wszędzie tam, gdzie powinien. To starsze zachowanie może spowolnić kompilator, włączając ukryte funkcje znajome jako możliwe kandydatów w większej ilości kontekstów.

Domyślne zachowanie ukrytego przyjaciela języka C++ jest domyślnie włączone w obszarze /permissive-. Aby określić starsze zachowanie ukrytego przyjaciela po określeniu /permissive- opcji, użyj polecenia /Zc:hiddenFriend-. Korzystanie z modułów C++20 wymaga standardowego zachowania ukrytego przyjaciela.

Opcja /Zc:hiddenFriend jest dostępna od wersji 16.4 programu Visual Studio 2019.

Aby zapoznać się z przykładami zachowania kompilatora podczas określania /Zc:hiddenFriendparametru , zobacz Ukryte reguły wyszukiwania nazw znajomych.

Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio

  1. Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).

  2. Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.

  3. Zmodyfikuj właściwość Opcje dodatkowe, aby uwzględnić /Zc:hiddenFriend lub/Zc:hiddenFriend-, a następnie wybierz przycisk OK.

Zobacz też

/Zc (Zgodność)
/permissive-