Jest podobno , że wczesne C ++ implementacje miały dot operatora o udostępnienie przestrzeni nazw. Istnieje opinia, że kropka jest wygodniejsza niż nowoczesny operator dwukropka.
Jakie było uzasadnienie wprowadzenia podwójnego dwukropka?
c++
language-design
history
Bogaty
źródło
źródło
::symbol
zmusić go do szukaniasymbol
w globalnej przestrzeni nazw zamiast w bieżącej przestrzeni nazw, więc jest to co najmniej jedna rzecz, która wyglądałaby bardzo myląco i prawdopodobnie wprowadziłaby jeszcze więcej dwuznaczności składniowej do języka, jeśli zamiast tego zastosowano operator kropki.Odpowiedzi:
Jak zauważył Jules , faktem jest, że wczesne implementacje C ++ (CFront przed 1.0) miały kropkę do identyfikacji zakresu.
Kropka była również używana w C z klasami (1980). Rzeczywiście jest to prosty fragment z klas: Narzędzie abstrakcyjnego typu danych dla języka C 1 :
(kod był przykładem tego, jak funkcje składowe były zazwyczaj definiowane „gdzie indziej”)
::
Był jednym z dodatków do C z klas wprowadzoną do C ++.Przyczynę podaje sam Stroustrup:
( A History of C ++: 1979−1991 [2] page 21 - § 3.3.1)
Bjarne Stroustrup: „Klasy: narzędzie abstrakcyjnego typu danych dla języka C” - raport techniczny Bell Laboratories Computer Science CSTR-84. Kwiecień 1980 r.
Bjarne Stroustrup: „A History of C ++: 1979−1991” - AT&T Bell Laboratories Murray Hill, New Jersey 07974.
źródło