Kezdőoldal » Számítástechnika » Programozás » C++-ban mire való és mikor...

C++-ban mire való és mikor érdemes használni a volatile-t?

Figyelt kérdés
Szóval addig én is eljutottam, hogy könyvben elolvastam de ott semmi érdemes példát nem írtak rá és még annyira értelmezni se tudtam, szóval valaki el tudná magyarázni, hogy "paraszti" ésszel is érthessem mert csomó helyet át dúltam, de nem értettem.A segítségeket köszönöm!:)

2016. febr. 29. 20:29
1 2 3
 11/24 anonim ***** válasza:
20%

Nem tűnik fel, hogy olyasmiről vitázol, amihez közöd nincs?

A standard? Melyik standard? Az ANSI, az ISO, vagy egy harmadik, egy negyedik?


Ember, vedd már észre, hogy kinevetteted magad.

2016. márc. 1. 00:42
Hasznos számodra ez a válasz?
 12/24 anonim ***** válasza:
Az a standard ami alapján implementálva van a 3 legnevesebb C++ fordító. De ki ne bökje a szemed a 10-es válaszban linkelt kép.
2016. márc. 1. 00:56
Hasznos számodra ez a válasz?
 13/24 anonim ***** válasza:
0%

:)


Ez hihetetlen.


Az a baj, hogy amire te szabványként hivatkozol, az nem egyéb mint egy megjegyzés, egy hozzáfűzés. Egy note.

A másik baj, hogy olyan hozzáfűzés, amely ezen a kérdéskörön kívül esik.

Magyarán, a kérdezőt ez az idézet nem segíti, csak fölöslegesen összezavarja és azon kívül, hogy a kötözködni vágyásodat kielégítette, ez az idézet, másra sajnos egyáltalán nem jó. Fontoskodsz, fölöslegesen és lejáratod magad.

2016. márc. 1. 01:10
Hasznos számodra ez a válasz?
 14/24 anonim ***** válasza:
0%
Az a dolog különös bája, hogy a hivatkozásodul használt dokumentumban, bár 331-szer fordul elő a volatile szó, te mégis éppen arra a sokadikra hivatkozol, ráadásul szó és betű szerint, amelyre a stackoverflow-os személy is.
2016. márc. 1. 04:25
Hasznos számodra ez a válasz?
 15/24 anonim ***** válasza:
Nem értek c++ ul, de nem pontosan ugyanazt mondjátok mindketten? Az optimalizálás ebben az esetben úgy nézne ki, hogy (az első példájánál maradva) a vízhő konstans, azt meg elég egyszer ellenőrizni ~ hiába állítgatod bárhonnan, nincs jelentősége. Nyugodtan harapja át valaki a torkomat ha teljesen rosszul látom, mint említettem a c++ hoz annyi közöm van, hogy _esetleg_ felismerem.
2016. márc. 1. 05:57
Hasznos számodra ez a válasz?
 16/24 anonim ***** válasza:

C++-ban létezik többféle optimalizációs szint. 44%-osnak akkor lenne igaza ("Semmi köze au optimalizáláshoz"), ha azt mondjuk a fordítónak, hogy eleve ne optimalizálj semmit.


Amit nem vesz észre, hogy a kettő együtt jár. Azaz azt mondjuk a fordítónak, hogy "figyeljé'! Ez itten megváltozhat bármikor, nagyon figyelj oda rá!". Ami a fordítónak azt jelenti, hogy "ki nem optimalizálom, mert különben bajba kerülök és elveszítem fordítói állásom".

2016. márc. 1. 06:46
Hasznos számodra ez a válasz?
 17/24 anonim ***** válasza:

Fokent multi-threaded programoknal erdemes hasznalni

[link]

2016. márc. 1. 08:06
Hasznos számodra ez a válasz?
 18/24 anonim ***** válasza:
54%

Robinka mi a f#sznak lettél szerinted kitiltva, azért hogy egy hét múlva újra regelj?

Fejezd már be itt is a baromságaidat, meg a hisztidet.

Most sincs igazad, ahogy általában sosem.

2016. márc. 1. 09:12
Hasznos számodra ez a válasz?
 19/24 anonim ***** válasza:

15,16: Nem ugyanazt mondjuk, de nem is ez a lényeg. Inkább az, hogy olyan ember fontoskodik aki nem tudja, hogy miről beszél és leugat olyat, aki tudja.

Ha tudná, hogy mit állít, akor nem is idézte volna azt amit. Szabványra hivatkozik, nulla jelentőségű megjegyzést idéz, miközben a dokumentum első oldalán ott áll ez:


Note: this is an early draft. It’s known to be incomplet and incorrekt, and it has lots of bad

formatting.


Az optimalizáláshoz csak annyit, hogy elég sok c fordító létezik, amelyben nincs is optimizer. A volatile lényege le lett írva. Azon változókhoz amelyek tartalma kívülről módosulhat, ilyen pl. egy szenzor vagy egy beviteli eszköz által beadott érték, szükséges a volatile, hogy az alkalmazás tudja, ezeknél nem hagyatkozhat az általa nyilvántartott értékhez.

2016. márc. 1. 11:33
Hasznos számodra ez a válasz?
 20/24 anonim ***** válasza:

És ez hova lett leírva? Mert az optimalizációs dolog le van írva, láthattuk. A szabványba. Te azt állítod hogy arra figyelmezteti a fordítót hogy KÍVÜLRŐL változhat. Nem KÍVÜLRŐL hanem az implementáció által NEM DETEKTÁLHATÓ módon! A draft amit látsz 99.9%-ban megegyezik a szabvánnyal amit meg lehet vásárolni. Nekem megvan és láss csodát, ugyan az van beleírva. Mint ahogy az ANSI C++-ig visszamenőleg az összes többi szabványba is.


Ha nem érted mi a különbség a kívülről és a nem detektálható módon között, akkor nem érdemes ezen vitatkozni. Legalább 5 módot tudok hogy tudom megváltoztatni a változó értékét belülről, úgy hogy az csak futási időben derül ki és 3-at a gyakorlatban is használnak. Az pedig hogy mit jelent ez a fordító számára? Pontosan azt hogy nem szabad kioptimalizálnia. Miért szerinted mit jelent a fordító számára? A C szabványban meg van magyarázva: A volatile kulcsszóval ellátott objektumokon nem szabad optimalizációt végrehajtani, szigorúan az absztrakt gép szabályai szerint kell kiértékelni és azt tárolni úgy, és olyan sorrendben ahogy az meg van határozva. Ezt enyhítették C++-ban és csak annyit írnak hogy agresszív optimalizációt nem lehet rajta végezni, de a célja egyezzen meg a C szabványban leírtakkal. Akárhogy nézzük, ha van egy minimális értelmező készséged megérted mi van odaírva. De nincs. Arról hogy az agyi szinted vetekszik egy retardálttal és összetrollkdod az oldalt, mi nem tehetünk.


De hogy mégjobban hülynék nézhessünk azért leírom:

Nem, a C-ben nem 1999-ben jött be a volatile kulcsszó mert ha nem lennél olyan dög lusta kinyitod a C89 szabványt és ott is megtalálod. Hülyeséget pofázni könnyű. Nem is értem miért írtál ide ilyet.


Az oldalak amiket belinkeltél pedig pontosan neked mondanak ellent ha elolvastad volna őket: "Volatile tells the compiler not to optimize anything that has to do with the volatile variable."

Miért linkelted be akkor? LOL


Ne de hogy tovább menjünk úgy tűnik a magyar nyelvvel is gondok vannak, nem csodálom hogy a C++ vagy az angol nyelv nem megy. A szabvány nem definíció és nem ajánlás. A szabvány az szabvány. Pontosan meghatározza hogy mit kell tudnia MINDEN C++ implementációnak. Ha nem ismerős a szabvány szó, esetleg nézzél utána. De nem fogsz, mert meg vagy győződve róla hogy a szabvány szó szinonimája az ajánlásnak.


Robinka fogad el, hülyeséget beszélsz. Ami a szabványban le van írva az úgy van és kész. Ha megtalálod a saját verziódat a szabványban, akkor majd légyszíves idézd be, addig ez a tény nem fog megváltozni. Ha elolvasod a szabványt és értelemezed akkor azt is megértheted hogy miért van erre szükség és hogyan működik. De nem fogod elolvasni mert csak azért vagy itt hogy trollkodj és mint mindig megpróbáld félrevezetni a kérdezőket. Ha az oldal vezetőségének pedig érdekében állna az oldalt "szinten" tartani akkor gondolkodás nélkül kitiltanának téged mert senkinek sem hiányzik ez. Kár hogy úgyis újraregisztrálsz mert nincs jobb dolgod. Egyébként nem érzed hogy a fél oldal rajta röhög újra és újra? Végül is erről lettél híres. Nem tudom hogy gratuláljak e ehhez, én nem lennék büszke rá :)

2016. márc. 1. 13:06
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!