Share via


/Zc:hiddenFriend (Applica regole Friend nascoste C++ standard)

Specifica che il compilatore è conforme al trattamento standard C++ di funzioni friend nascoste o modelli di funzione.

Sintassi

/Zc:hiddenFriend[-]

Osservazioni:

L'opzione /Zc:hiddenFriend abilita un subset del comportamento dell'opzione /permissive- . Indica al compilatore di essere conforme allo standard per gli amici nascosti. Il compilatore include solo amici nascosti nella ricerca dipendente dall'argomento (ADL) per istanze esplicite o parametri di modello del tipo di classe contenitore. La restrizione consente di usare gli amici nascosti per mantenere le operazioni su un tipo da applicare alle conversioni implicite. Questa opzione può migliorare la velocità di compilazione nel codice che non può altrimenti usare /permissive-.

Un friend nascosto è un modello di friend funzione o di funzione dichiarato solo all'interno di una definizione di modello di classe o classe. Per impostazione predefinita, il compilatore Microsoft C++ non rimuove le dichiarazioni Friend nascoste come candidati per la risoluzione dell'overload ovunque debba. Questo comportamento legacy può rallentare il compilatore includendo le funzioni Friend nascoste come possibili candidati in più contesti.

Il comportamento friend nascosto C++ standard è abilitato per impostazione predefinita in /permissive-. Per specificare il comportamento friend nascosto legacy quando si specifica l'opzione /permissive- , usare /Zc:hiddenFriend-. L'uso di moduli C++20 richiede un comportamento friend nascosto standard.

L'opzione /Zc:hiddenFriend è disponibile a partire da Visual Studio 2019 versione 16.4.

Per esempi di comportamento del compilatore quando si specifica /Zc:hiddenFriend, vedere Regole di ricerca dei nomi friend nascoste.

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.

  3. Modificare la proprietà Opzioni aggiuntive per includere /Zc:hiddenFriend o /Zc:hiddenFriend- quindi scegliere OK.

Vedi anche

/Zc (Conformità)
/permissive-