Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 01:03 06.07.25 
Клубове/ Компютри и Интернет / Програмисти Пълен преглед*
Информация за клуба
Тема Re: защо "абвгз" е char*, а не const char*? [re: Colombino]
Автор пopyчиkPжeвckий (същият)
Публикувано19.01.10 21:08  



Глей са.... естествено, че алегоризирам и хиперболизирам с горното си изказване, което не пречи в него да има и известно количество истина, по скъпа от.... да кажем малка торбичка злато.



Има същински константи наистина, които може да са в РОМ-а, само дето напоследъка РОМ почти няма - има ФЛАШ и ЕЕПРОМ. Което донякъде подсказва нещо относно същинските константи.

Като се замисля, същински константи (истински такива) са май само физичните. Ама и за тях кой знае какви ще са в една друга вселена нали?

Примерно (в нашата вселена) Пи е константа, която е 3.14156271 и прочие, помня го наизуст само до тук. И естествено е много по лесно да ползваш Пи в кода, вместо да пишеш дълга поредица от цифри.
Константи се декларират даже в асемблер - просто е по-удобно.
Виж, това, че ако дадена константа е в РОМ, а не в РАМ се пести РАМ, не е задължително да е вярно.

Друг е въпросът за ползата от дадено нещо в даден език.
Обикновено (най-често) ползите можем да ги изброим по-надолу (може и да пропускам някоя)
Ползваме дадено нещо защото кодът става:
- по-четлив
- по-лесен за писане
- по-бърз
- по-кратък
- по-сигурен
- щото тъй ни харесва (естествено)

Същотото би могло да се каже и за нещата, които не ползваме. Примерно не ползваме ГОТО щото кода става на спагети, има повишен риск за грешки и прочие и прочие. Само че, ако отворим после машинния код на нашето изкомпилирано липсване на ГОТО ще открием безусловни преходи - ами просто не може без тях в някои случаи. Ако можеше, нямаше да го има като код в процесора.

И тъй, константи ползваме (в кода, не в РОМ-а) защото кодът е:
- по-четлив
- по-лесен за писане
- по-сигурен
- по-бърз (тук става въпрос специално за случаите, когато компилаторът поставя константата като операнд на кода, а не пише код да я извлича от нейде другаде, било то РОМ или РАМ)
- по-кратък (пак горното)

(Точно заради последните две дадох ония примери с непосредствено зареждане на регистър.)

Ето, Зейфод примерно си е намерил личната полза от константния чар в дадения случай и то много добре обоснована полза.

Изобщо, константата е хубаво нещо и ползуването й - тоже. Аз не съм против константите. И в интерес на истината се научих да ги използвам именно когато почнах да ставам нещо като програмист, т.е. това дето си писал за слабите програмисти е апцелютно вярно. Но да се фърляме на някакви безкрайно строги уговорки и правила, доведени до крайности пак е грешка ИМХО, като всяка една крайност.

Изобще - "Дело тонкое Петруха", както се казваше в един любим филм.



Цялата тема
ТемаАвторПубликувано
* защо "абвгз" е char*, а не const char*? zaphod   13.01.10 16:33
. * Re: защо "абвгз" е char*, а не const char*? portal   13.01.10 16:50
. * Re: защо "абвгз" е char*, а не const char*? Pekoнcтpykтop   13.01.10 17:16
. * Re: защо "абвгз" е char*, а не const char*? Om_   13.01.10 17:38
. * Re: защо "абвгз" е char*, а не const char*? Pekoнcтpykтop   14.01.10 12:31
. * Re: защо "абвгз" е char*, а не const char*? zaphod   14.01.10 13:29
. * Re: защо "абвгз" е char*, а не const char*? ~@!$^%*amp;()_+   14.01.10 18:06
. * Re: защо "абвгз" е char*, а не const char*? Cин Mapмoт   14.01.10 22:19
. * Re: защо "абвгз" е char*, а не const char*? ~@!$^%*amp;()_+   14.01.10 23:21
. * Re: защо "абвгз" е char*, а не const char*? zaphod   15.01.10 08:32
. * Re: защо "абвгз" е char*, а не const char*? ak_47   15.01.10 10:10
. * Re: защо "абвгз" е char*, а не const char*? ~@!$^%*amp;()_+   15.01.10 18:01
. * Re: защо "абвгз" е char*, а не const char*? Eвлaмпи Пoпдимитpoв   16.01.10 00:05
. * Re: защо "абвгз" е char*, а не const char*? zaphod   16.01.10 09:08
. * Re: защо "абвгз" е char*, а не const char*? Pekoнcтpykтop   16.01.10 13:46
. * Re: защо "абвгз" е char*, а не const char*? derlustigehase   16.01.10 18:08
. * Re: защо "абвгз" е char*, а не const char*? zaphod   17.01.10 09:23
. * Re: защо "абвгз" е char*, а не const char*? Eвлaмпи Пoпдимитpoв   17.01.10 00:10
. * Re: защо "абвгз" е char*, а не const char*? zaphod   17.01.10 09:20
. * Re: защо "абвгз" е char*, а не const char*? derlustigehase   04.03.10 10:58
. * Re: защо "абвгз" е char*, а не const char*? SoulDeaD   10.03.10 13:09
. * Re: защо "абвгз" е char*, а не const char*? пopyчиkPжeвckий   19.01.10 17:31
. * Re: защо "абвгз" е char*, а не const char*? Colombino   19.01.10 18:35
. * Re: защо "абвгз" е char*, а не const char*? пopyчиkPжeвckий   19.01.10 21:08
. * Re: защо "абвгз" е char*, а не const char*? Tony Stewart   19.01.10 21:43
. * Re: защо "абвгз" е char*, а не const char*? пopyчиkPжeвckий   19.01.10 21:49
. * Re: защо "абвгз" е char*, а не const char*? zaphod   19.01.10 18:45
. * Re: защо "абвгз" е char*, а не const char*? пopyчиkPжeвckий   19.01.10 21:09
. * Re: защо "абвгз" е char*, а не const char*? Eвлaмпи Пoпдимитpoв   20.01.10 00:24
. * Re: защо "абвгз" е char*, а не const char*? Cин Mapмoт   15.01.10 11:13
. * Re: защо "абвгз" е char*, а не const char*? Colombino   13.01.10 20:58
. * Re: защо "абвгз" е char*, а не const char*? portal   13.01.10 22:29
. * дори char[] не е zaphod   15.01.10 08:36
. * Re: дори char[] не е ~@!$^%*amp;()_+   16.01.10 20:33
. * Re: защо "абвгз" е char*, а не const char*? Eвлaмпи Пoпдимитpoв   14.01.10 00:09
. * Re: защо "абвгз" е char*, а не const char*? SoulDeaD   14.01.10 00:54
. * Re: защо "абвгз" е char*, а не const char*? Eвлaмпи Пoпдимитpoв   14.01.10 23:45
. * Re: защо "абвгз" е char*, а не const char*? Colombino   14.01.10 01:28
. * Re: защо "абвгз" е char*, а не const char*? zaphod   14.01.10 07:39
. * Re: защо "абвгз" е char*, а не const char*? ГHУCEH®ГHOM   14.01.10 13:36
. * Re: защо "абвгз" е char*, а не const char*? Eвлaмпи Пoпдимитpoв   14.01.10 23:39
. * Re: защо "абвгз" е char*, а не const char*? ~@!$^%*amp;()_+   14.01.10 23:49
. * Re: защо "абвгз" е char*, а не const char*? klapaucius   14.01.10 14:46
. * Re: защо "абвгз" е char*, а не const char*? lvailosp   09.04.10 17:51
. * Re: защо "абвгз" е char*, а не const char*? bhdz   09.04.10 20:34
. * Re: защо "абвгз" е char*, а не const char*? Pekoнcтpykтop   10.04.10 09:31
. * Re: защо "абвгз" е char*, а не const char*? zaphod   10.04.10 09:43
. * Re: защо "абвгз" е char*, а не const char*? Colombino   10.04.10 18:57
. * Re: защо "абвгз" е char*, а не const char*? lvailosp   12.04.10 12:15
. * Re: защо "абвгз" е char*, а не const char*? Pekoнcтpykтop   12.04.10 12:42
. * Re: защо "абвгз" е char*, а не const char*? lvailosp   12.04.10 14:15
. * Re: защо "абвгз" е char*, а не const char*? Pekoнcтpykтop   12.04.10 17:43
. * Re: защо "абвгз" е char*, а не const char*? Colombino   15.04.10 02:26
. * Re: защо "абвгз" е char*, а не const char*? zaphod   15.04.10 09:09
. * Re: защо "абвгз" е char*, а не const char*? Pekoнcтpykтop   15.04.10 09:17
. * Re: защо "абвгз" е char*, а не const char*? zaphod   15.04.10 10:21
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.