C++/Różnice między C a C++: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
m usunięcie kategorii
Sblive (dyskusja | edycje)
Linia 8:
=== Stałe ===
 
Stałe w C++ (obiekty zadeklarowane ze słowem const) są stałe w pełnym tego słowa znaczeniu. Np. stałe typów całkowitych mogą być stosowane tam, gdzie wymaga się stałych wyrażeń (tzn. jako etykiety case, jako rozmiar tablic itp.). W C już nie i tam do takich stałych trzeba stosować dyrektywę [[C/Preprocesor|preprocesora]] '''#define'''. W C stała jest dokładnie tym samym co zmienna, z tym tylko zastrzeżeniem, że nie można jej jawnie modyfikować (ale można zmodyfikowac zawartosc wskaznika do adresu stalej, czyli '''de facto''' zmodyfikowac stala).
 
Konsekwencją tego po części jest fakt, że globalnie deklarowane stałe w języku C mają to samo wiązanie (ang. linkage) co zmienne, czyli zewnętrzne. W języku C++ stałe mają domyślnie wiązanie lokalne i aby były one zewnętrzne (dzielone między jednostkami kompilacji), muszą być zadeklarowane razem z inicjalizacją i słowem '''extern'''.