2015-06-17 18 views
5

Recentemente ho avuto modo di conoscere una funzione speciale in C++: __gcd(A,B). questo restituirà il massimo comune divisore di A e B.Funzione __gcd (A, B) incorporata in C++

#include<iostream> 
#include<algorithm> 
using namespace std; 

main() 
{ 
cout<<__gcd(10,40); //op: 10 
} 

v'è alcuna ragione particolare per l'avvio di definizione di funzione con 2 sottolineatura?

Potrebbe essere semplice come gcd(A,B) come altre funzioni STL.

+0

* come altre funzioni predefinite * a quali si riferisce? – Borgleader

+2

Non credo che fosse destinato al pubblico da usare. – AndyG

+0

@Borgleader come sort(), qsort(), swap() ecc. – JerryGoyal

risposta

9

I nomi che iniziano con due caratteri di sottolineatura sono riservati per l'implementazione, il che significa che non è consentito definire tali nomi nel codice e non esistono garanzie standard sul significato di tali nomi se esistono. Tuttavia, un venditore potrebbe scegliere di documentare alcuni di questi nomi, nel qual caso è possibile utilizzarli con il prodotto per il quale il venditore li documenta.

Problemi correlati