Kezdőoldal » Számítástechnika » Programozás » Sokat kellene módosítani a...

Sokat kellene módosítani a C++ fordítón ahhoz, hogy minden alapértelmezetten konstans legyen és csak akkor legyen valami változó ha elé írom a "mut" kulcsszót?

Figyelt kérdés
2018. okt. 25. 21:19
1 2 3
 1/25 anonim ***** válasza:
48%
nem
2018. okt. 25. 21:33
Hasznos számodra ez a válasz?
 2/25 anonim ***** válasza:

Sokat bizony.

Egyszerűbb, ha írsz egy programot, ami a varrás fájlt másolja le egy másik fájlba, közben figyeli, mi is van az adott sorban, és ha olyat lát, amin módosítani kell, akkor azt szerint írja bele az új fájlba.

Nem tudom elképzelni, miért lehet erre szükség. Mit jelent a "mut"?



,

2018. okt. 25. 21:52
Hasznos számodra ez a válasz?
 3/25 anonim ***** válasza:
#2: mutable, azaz módosítható.
2018. okt. 25. 21:54
Hasznos számodra ez a válasz?
 4/25 anonim ***** válasza:

#2: mutable, azaz módosítható


istenem, egy újabb teljesen értelmetlen ötlet.

2018. okt. 25. 22:16
Hasznos számodra ez a válasz?
 5/25 anonim ***** válasza:

"nem"


Hmm. DE.


Nem beszélve arról, hogy ennek semmi értelme nem lenne.

2018. okt. 25. 22:51
Hasznos számodra ez a válasz?
 6/25 A kérdező kommentje:

Miért jobb ha minden alapértelmezetten mutable, mintha minden alapértelmezetten constant lenne?

Rakat hiba abból keletkezik, hogy valaki elfelejt valamit const-ra állítani, más meg azt hiszi, hogy az direkt van úgy hagyva és belenyúl olyanba amibe nem kéne. Biztonság szempontjából az az ideális, ha bármilyen aktuális környezetben minél kevesebb erőforrás hozzáférhető módosításra és ha hozzáférhetővé akarunk tenni valamit, akkor azt minimum nyilvánítsuk ki a kódban. Szerintem a C++-ban ez egy tervezési hiba, hogy nem a const az alapértelmezett. Most a nyelv a zártságot bünteti és nem a nyitottságot.

2018. okt. 25. 23:14
 7/25 anonim ***** válasza:

"Rakat hiba abból keletkezik, hogy valaki elfelejt valamit const-ra állítani, más meg azt hiszi, hogy az direkt van úgy hagyva és belenyúl olyanba amibe nem kéne"


Erre találták ki a code review-t. Tudod, amit minden a minőségre egy kicsit is adó cég csinál és megkövetel.


"Miért jobb ha minden alapértelmezetten mutable, mintha minden alapértelmezetten constant lenne?"


Ha zavar, akkor rakd ki mindenhová a const-ot.

2018. okt. 25. 23:40
Hasznos számodra ez a válasz?
 8/25 A kérdező kommentje:

"Erre találták ki a code review-t. Tudod, amit minden a minőségre egy kicsit is adó cég csinál és megkövetel."


Ja, minden cégnél ahol van code review ott a programokban nem keletkezik hiba! :D


Felesleges úgy tenned, mintha dolgoztál volna valaha IT cégnél!

2018. okt. 26. 00:47
 9/25 anonim ***** válasza:

A modern programozási nyelvek egyik fő célja, hogy minél rövidebben, tömörebben, de mégis érthetőbben tudja a programozó kifejezni a szándékát, úgymond minél kevesebb boiler-plate kódot kelljen írnia.

Az egyik nagyon jó példa erre a C#-os ?. operátor, ami null ellenőrzést csinál, csupán nagyon tömör formában.


Konkrét példán bemutatva:

Ez volt régen:

if (MyEvent != null)

{

MyEvent(this, EventArgs.Empty);

}

Így néz ki most:

MyEvent?.Invoke(this, EventArgs.Empty);

A két kód ugyanazt csinálja (sőt, a második igazából thread-safe), mégis a második sokkal rövidebb.

Könnyebb lefelejteni azt az 1 db kérdőjelet, mint a teljes if elágazást? Igen. Mégis tisztább a második kód? Igen.


Pontosan ez a probléma a te ötleteteddel. Ha megnézel pár valódi kódot, akkor láthatod, hogy mi a bevezett constansok/változók aránya, akkor látni fogod, hogy arányaiban jóval több a változó. Tehát ha minden egyes változó elé ki kéne írni, hogy "mut", akkor az fölösleges boiler-plate kóddá, akár "zajjá" válna.


Azt tudom javasolni, hogy kezdőként bízd a programozási nyelv fejlesztést a tapasztaltabbakra, mert a végén olyan nyelvek születnének megint, mint a PHP...

2018. okt. 26. 08:34
Hasznos számodra ez a válasz?
 10/25 anonim ***** válasza:

"nem"

"Hmm. DE."


Hmm. nem... pont amiatt amit a #2 írt. Gyakorlatilag csak egy szövegszerkesztési művelet az egész. Persze lehet elmélkedni, hogy akkor nem is a compiler változott meg, de gondolom a kérdés szempontjából ez mellékes. Egyébként ugyanemiatt a compiler-ben sem kellene nagy változásokat eszközölni.


A kérdéshez: te tulajdonképpen fordítva akarod megülni a lovat. Azt mondod az a baj, hogy lehagyják a const-ot a konstansok elől, akkor az a megoldás, hogy a változók elé tegyünk ki, hogy változó. Hát ennek semmi értelme.

2018. okt. 26. 09:34
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!