Pytania otagowane jako constants

Stałe w programowaniu to definicje, których wartość jest ustalana podczas wykonywania programu. Na przykład literały w większości języków są stałymi. W referencyjnie przejrzystych stylach programowania wszystkie definicje są stałe. Obszar przechowywania danych kwalifikowany jako const (obiekt, pole, zmienna, parametr) to taki, który „nigdy się nie zmienia”, co umożliwia dodatkowe optymalizacje generatora kodu i dodatkowe statyczne sprawdzanie poprawności programu.

5
Usuwanie wskaźnika do const (T const *)
Mam podstawowe pytanie dotyczące wskaźników const. Nie wolno mi wywoływać funkcji niebędących składowymi stałymi przy użyciu wskaźnika do stałej. Jednak mogę to zrobić na wskaźniku const: delete p; Spowoduje to wywołanie destruktora klasy, która w istocie jest „metodą” inną niż stała. Dlaczego jest to dozwolone? Czy to tylko w celu …

6
Dlaczego nie jest stała operatora [] dla map STL?
Wymyślony przykład, aby odpowiedzieć na pytanie: void MyClass::MyFunction( int x ) const { std::cout << m_map[x] << std::endl } To się nie skompiluje, ponieważ operator [] nie jest stałą. Jest to niefortunne, ponieważ składnia [] wygląda bardzo czysto. Zamiast tego muszę zrobić coś takiego: void MyClass::MyFunction( int x ) const …
89 c++  constants 

5
PHP - zdefiniuj stałą wewnątrz klasy
Jak zdefiniować stałą w klasie i sprawić, by była widoczna tylko wtedy, gdy zostanie wywołana w kontekście klasy? ....coś jak Foo::app()->MYCONSTANT; (a jeśli zostanie wezwany, lubi MYCONSTANTbyć ignorowany)
88 php  class  constants 



6
Zmieniona tablica w zakresie pliku
Chcę utworzyć stałą tablicę statyczną, która będzie używana w całym moim pliku implementacji Objective-C, podobną do tego na najwyższym poziomie mojego pliku „.m”: static const int NUM_TYPES = 4; static int types[NUM_TYPES] = { 1, 2, 3, 4 }; Planuję użyć NUM_TYPESpóźniej w pliku, więc chciałem umieścić go w zmiennej. …

7
const przed parametrem vs const po nazwie funkcji c ++
Jaka jest różnica między czymś takim friend Circle copy(const Circle &); i coś takiego friend Circle copy(Circle&) const; Wiem, że const po użyciu funkcji, aby powiedzieć kompilatorowi, że ta funkcja nie będzie próbowała zmienić obiektu, do którego jest wywoływana, a co z drugim?

6
Dlaczego odwołania nie są „stałymi” w C ++?
Wiemy, że „zmienna stała” oznacza, że ​​raz przypisana nie można zmienić zmiennej, na przykład: int const i = 1; i = 2; Powyższy program nie skompiluje się; gcc wyświetla komunikat z błędem: assignment of read-only variable 'i' Nie ma problemu, rozumiem to, ale następujący przykład jest poza moim zrozumieniem: #include<iostream> …



9
Czy parametry mogą być stałe?
Szukam odpowiednika języka Java w C # final. Czy to istnieje? Czy C # ma coś podobnego do następującego: public Foo(final int bar); W powyższym przykładzie barjest zmienną tylko do odczytu i nie można jej zmienić Foo(). Czy jest jakiś sposób, aby to zrobić w C #? Na przykład, może …

3
ECMAScript 2015: const w pętlach for
Który z poniższych dwóch (lub żaden / oba) fragmentów kodu powinien działać w pełnej implementacji ECMAScript 2015: for (const e of a) for (const i = 0; i < a.length; i += 1) W moim rozumieniu pierwszy przykład powinien działać, ponieważ ejest inicjowany dla każdej iteracji. Czy nie powinno tak …

5
Po co łapać wyjątek jako odniesienie do stałej?
Wiele razy słyszałem i czytałem, że lepiej jest wychwycić wyjątek jako odniesienie do stałej, a nie jako odniesienie. Dlaczego jest: try { // stuff } catch (const std::exception& e) { // stuff } lepszy niż: try { // stuff } catch (std::exception& e) { // stuff }



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.