2015-06-17 23 views
5

niedawno poznałem specjalną funkcję w języku C++: __gcd(A,B). to powróci największy wspólny dzielnik A i B.Wbudowana funkcja __gcd (A, B) w C++

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

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

Czy jest jakiś szczególny powód do rozpoczęcia definicję funkcji z 2 podkreślenia?

Może to być tak proste jak gcd(A,B), podobnie jak inne funkcje STL.

+0

* podobnie jak inne wbudowane funkcje * do których z nich się odwołujesz? – Borgleader

+2

Nie sądzę, że było to przeznaczone do użytku publicznego. – AndyG

+0

@Borgleader jak sort(), qsort(), zamiana() itp. – JerryGoyal

Odpowiedz

9

Nazwy zaczynające się od dwóch podkreśleń są zarezerwowane dla implementacji, co oznacza, że ​​nie wolno im zdefiniować takich nazw w swoim kodzie, i nie ma standardowych gwarancji, co te nazwy oznaczają, jeśli istnieją. Jednak sprzedawca może zdecydować się na udokumentowanie niektórych takich nazw, w takim przypadku można ich użyć z produktem, dla którego sprzedawca je dokumentuje.

Powiązane problemy