Klausimai pažymėti „const“

Const yra determinantas, naudojamas nustatyti duomenų saugojimo sritį (objektą, lauką, kintamąjį, parametrą), kuris niekada nesikeičia, o tai leidžia optimizuoti kodų generatorių ir papildomą statinį programos patvirtinimą.
6
atsakymai

Modifikuota rinkmena failų srityje

Noriu sukurti nuolatinį statinį masyvą, kuris bus naudojamas visame „Objective-C“ faile, panašus į viršutinį mano „.m“ failo lygį: statinis const int NUM_TYPES = 4; statiniai int tipai [NUM_TYPES] = {1, ...
lapkričio 11 d. '09 5:19
6
atsakymai

const char * ir char const * - ar tie patys?

Mano nuomone, const modifikatoriai turėtų būti skaitomi iš dešinės į kairę. Iš to aš gaunu: const char * yra rodyklė, kurios char char elementai negali būti keičiami, tačiau rodiklis pats gali ir char const * yra pastovus rodyklės požymis ...
lapkričio 11 d. '11 12:10
5
atsakymai

Ištrinti rodyklę į const (T const *)

Turiu pagrindinį klausimą apie const rodykles. Negaliu skambinti į jokių non-const narių funkcijų, naudojant const rodyklę. Vis dėlto galiu tai padaryti su rod pointer: ištrinti p; Tai sukels klasės destruktorių, kuris ...
nustatytas balandžio 16 d '09 11:18
7
atsakymai

Ar „const-rightness“ atitinka kompiliatorių su daugiau galimybių optimizuoti?

Žinau, kad jis pagerina skaitomumą ir daro programą mažiau klaidų, tačiau kiek tai pagerina našumą? Ir tai, kas yra užrašo pusėje, yra pagrindinis skirtumas tarp nuorodos ir pasto rodyklės? Siūlyčiau, kad jie būtų saugomi ...
birželio 11 d. 11 val
3
atsakymai

Skirtumas tarp `const shared_ptr <T>` ir `shared_ptr <const T>?

Rašau prieigos metodą bendram C + + žymikliui, kuris atrodo taip: klasė Foo {public: return_type getBar () const {return m_bar; } private: boost :: shared_ptr <Bar> m_bar; } Siekiant palaikyti ...
yra nustatytas liepos 22 d., 13 val
6
atsakymai

Kodėl gi ne naudoti STL kortelių operatorių [] const?

Pavyzdžiui, klausimo labui: void MyClass :: MyFunction (int x) const {std :: cout << m_map [x] << std :: endl} Tai nebus kompiliuojama, nes [] operatorius nėra pastovus. Tai liūdna, nes sintaksė [] atrodo kaip ...
nustatyti 25 rugsėjis '09 3:45
3
atsakymai

Kaip rūšiuoti su lambda?

rūšiuoti (mMyClassVector.begin (), mMyClassVector.end (), [] (const MyClass a, const MyClass b) {return a.mProperty> b.mProperty;}); Norėčiau naudoti „lambda“ funkciją, kad surūšiuotumėte pasirinktines klases, o ne privalomas.
nustatyti 26 vas '11 0:21
8
atsakymai

Ar parametrai gali būti pastovūs?

Aš ieškau C # ekvivalento Java finalui. Ar jis egzistuoja? Ar C # yra kažkas panašaus į: viešą Foo (galutinis int bar); Pirmiau pateiktame pavyzdyje juosta yra tik skaitomas kintamasis ir negali būti pakeistas į „Foo“ (). Ar yra kokių nors būdų ...
nustatyti 26 vas '10, 5:13
12
atsakymai

Pastovios nuorodos grąžinimas į objektą vietoj kopijos

Atkuriant kodą, atėjau kai kuriuos getter metodus, kurie grąžina std :: string. Kažkas panašaus, pavyzdžiui: klasė foo {private: std :: string name_; public: std :: string name () {return name_; }}; Protas ...
nustatyti 25 rugsėjis '08 20:33
11
atsakymai

Kodėl naudoti const raktinį žodį, jei jau žinote, kad kintamasis turi būti pastovus?

Daugelis mano perskaitytų knygų naudoja raktinį žodį, kai kintamojo vertė neturi pasikeisti. Be to, kad pakeisite šį kintamąjį (be komentarų galite ...
nustatyti 10 rug. '13, 3:37
2
atsakymai

Kodėl PHP neleidžia privačių const?

Turiu klasę, kuri naudoja vidinės įgyvendinimo konstantų naudojimą, bet norėčiau apriboti šių konstantų matomumą. Kodėl PHP neleidžia privačių konstantų? Ar yra koks nors kitas būdas tai pasiekti, ar PHP bando atsisakyti ...
yra nustatytas liepos 21 d. 11 val
2
atsakymai

C ++ 0x lambda fiksavimas pagal vertę visada const?

Ar yra būdas užfiksuoti vertę ir padaryti užfiksuotą vertę pastovią? Turiu bibliotekos funkciją, kurią norėčiau užfiksuoti ir paskambinti ne pastoviu, bet turėtų būti. Toliau pateikta informacija nėra parengta, bet foo :: ope ...
gegužės 14 d., 10 val
8
atsakymai

Naudojant const, o ne kintamųjų vidinius metodus

Kai būsiu vietinių kintamųjų, „ReSharper“ siūlo konvertuoti juos į konstanta: // vietoj to: var s = "some string"; var flags = BindingFlags.Public | BindingFlags.Instance; // ReSharper siūlo naudoti: co ...
nustatytas balandžio 29 d '11 18:17
6
atsakymai

Rodyklė yra nuolatinė ir keičiama

Skaitymo metu aš suklupau ant šio tipo skelbimų, o kita eilutė yra konstantiška laki char * p = (const volatile char *) 0x30; P vertė keičiama tik išorinėmis sąlygomis, nesuprantu, kokios yra išorinės sąlygos. Ir tai, kas yra praktinis naudojimas ...
yra nustatytas liepos 16 d. 15 val
3
atsakymai

Kodėl kintamasis const kartais nereikalingas užfiksuoti į lambda?

Apsvarstykite šį pavyzdį: # įtraukite <cldlib> int main () {const int m = 42; [] {m; } (); // OK const int n = std :: rand (); [] {n; } (); // klaida: „n“ nėra užfiksuota} Kodėl reikia užfiksuoti n antroje lambda, bet ne ...
balandžio 18 d '17, 11:19