Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 6. prosinec 2009, 20:07:27 Předmět: |
|
|
Teď mě to napadlo - na co definovat int, když na uchovávání konstanty 100 stačí byte/char?  _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
Quiark

Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 6. prosinec 2009, 21:08:49 Předmět: |
|
|
Protože int je 4-bytově zarovnaný  _________________ Mám strach |
|
Návrat nahoru |
|
 |
Mem

Založen: 28. 07. 2007 Příspěvky: 1959 Bydliště: Olomouc
|
Zaslal: 6. prosinec 2009, 21:30:18 Předmět: |
|
|
Jj, a pamatuju jak se mi např. dramaticky zrychlil výpočet piškvorek (brutškvorek), když jsem ve strukturách nahradil 2B short normálním 4B intem _________________
 |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 6. prosinec 2009, 22:22:10 Předmět: |
|
|
Cožééé? O tom jsem neslyšel, může někdo prosím vysvětlit?  _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 6. prosinec 2009, 22:27:30 Předmět: |
|
|
no ide o to ze ked procesor cita z pamete tak musi citat vzdy z adresy zarovnanej na 32-64 bitov. ak premenna lezi na rozhrani tak ju musi citat na dvakrat. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 7. prosinec 2009, 13:38:08 Předmět: |
|
|
Díky za vysvětlení.  _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 9. leden 2010, 15:31:31 Předmět: |
|
|
Mem napsal: |
Jj, a pamatuju jak se mi např. dramaticky zrychlil výpočet piškvorek (brutškvorek), když jsem ve strukturách nahradil 2B short normálním 4B intem |
...pamatuju, jak... _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
 |
Mem

Založen: 28. 07. 2007 Příspěvky: 1959 Bydliště: Olomouc
|
|
Návrat nahoru |
|
 |
SUK
Založen: 14. 11. 2007 Příspěvky: 93 Bydliště: /dev/null
|
Zaslal: 11. leden 2010, 10:33:28 Předmět: |
|
|
Lando napsal: |
Napada me jedine, ze kdybych si deklaroval konstantu, tak ji dam static |
Tak a prave jste mi znicili moje teorie
Kdyz je nekde konstanta, dejme tomu
konstanta int ABC = 0xABCDEF /*at uz v jakymkoliv jazyce, tohle bejva snad temer stejny*/
a potom nekde v kodu
prd(1,2,3, ABC);, tak se to do binaru kompiluje jako prd(1,2,3,0xABCDEF) nebo stale jako prd(1,2,3,ABC) ?
Ja mel za to, ze to je prave ten prvni pripad.... (predevsim proto, ze z Reflectoru pred nejakou dobou misto jmena konstanty byla pouzita prave ta konstanta) |
|
Návrat nahoru |
|
 |
Augi

Založen: 28. 07. 2007 Příspěvky: 782 Bydliště: Čerčany
|
Zaslal: 11. leden 2010, 11:57:02 Předmět: |
|
|
SUK: Pokud se máme bavit o C# (když jsi už zmínil ten Reflector), tak const je implicitně static. A konstanty se přímo dosadí v době kompilace.
Pokud nechceš, aby se tam hodnota přímo vložila v době kompilace (např. když chceš, aby se projevily změny konstant z cizích assemblies bez rekompilace Tvé assembly), tak je nutné použít static readonly. |
|
Návrat nahoru |
|
 |
SUK
Založen: 14. 11. 2007 Příspěvky: 93 Bydliště: /dev/null
|
Zaslal: 11. leden 2010, 11:58:53 Předmět: |
|
|
Augi: tak myslel jsem to spis jako obecne (a Reflector zminil kvuli zkusenosti), ale diky za odpoved  |
|
Návrat nahoru |
|
 |
Augi

Založen: 28. 07. 2007 Příspěvky: 782 Bydliště: Čerčany
|
Zaslal: 11. leden 2010, 12:47:55 Předmět: |
|
|
Ono to IMHO nejde pojmout moc obecně, protože to je víceméně vlastnost jazyka/prostředí. Třeba v C se dělají konstanty typicky pomocí #define, takže do kompilace už jsou dosazené hodnoty (o to se postará preprocesor). |
|
Návrat nahoru |
|
 |
|