Деректердің айқын және айқын емес түрленуі.
Айқын түрлендіру - бұл бағдарламада нақты анықталған түрлендіру (жасырын түрлендіру үшін компилятордың орнына). Оны қолданушы бағдарламада анықтайды.екі есе да = 3.3;екі есе db = 3.3;екі есе dc = 3.4;int нәтиже = (int)да + (int)db + (int)dc; // нәтиже == 9// егер айқын емес түрлендіру қолданылса («нәтиже = da + db + dc» сияқты), нәтиже 10-ға тең боладыАйқын түрлендірудің бірнеше түрі бар.тексерілдіТүрлендіру орындалмас бұрын, мақсатты типтің бастапқы мәнді ұстай алатынын тексеру үшін жұмыс уақытын тексеру жүргізіледі. Егер жоқ болса, қате шарты туындайды.тексерілмегенЕшқандай тексеру жүргізілмейді. Егер тағайындалған тип бастапқы мәнді ұстай алмаса, нәтиже анықталмайды.
С # тіліндегі инкремент және декремент операциялары
Инкремент және декремент- бірлікті қосатын немесе алып тастайтын біртұтас операторлар. Олар әдетте императивті бағдарламалау тілдерінде жүзеге асырылады.C-тәрізді тілдерде әр нұсқаның екі түрлі нұсқалары бар (алдыңғы және кейінгі) семантикасы сәл өзгеше. Синтаксистік жолмен B тілінен алынған тілдерде (С және оның әр түрлі туындылары) өсу операторы ++, ал азайту операторы -- ретінде жазылады. Кейбір басқа тілдер inc (x) және dec (x) функцияларын қолданады.
Реттеу операторы ұлғаяды, ал кішірейту операторы оның операндының мәнін 1-ге төмендетеді. Операндта арифметикалық мәліметтер типі немесе сілтегіш типі болуы керек және өзгертілетін мәліметтер нысанына сілтеме болуы керек. Көрсеткіштердің мәні олардың жадында орналасқан келесі (немесе алдыңғы) элементті көрсететін сомаға артады (немесе азаяды).
Операторлардың екі нұсқасын қолдайтын тілдерде:
Pre-increment және pre-decrement операторлары өз операндасын 1-ге ұлғайтады (немесе азайтады) және өрнектің мәні нәтижелік ұлғайтылған (немесе азайтылған) мән болып табылады.
Post-increment және post-decrement операторлары өз операндының мәнін 1-ге арттырады (немесе азайтады), бірақ өрнек мәні операндының инкрементінің(немесе декрементінің) операциясына дейінгі бастапқы мәні болып табылады.
Инкремент/декремент өрнек болып табылмайтын тілдерде (мысалы,Go) бір ғана нұсқа талап етіледі (Go жағдайында-тек post операторлары қажет).
Қосатын/алатын оператор өзінің операндын өзгертетіндіктен, бұндай операндыны біреуден көп қолдану, әрі дәл сондай ретте қолдану белгісіз нәтижелерге әкеліп соғуы мүмкін. Мысалы, x - ++x сияқты өрнектерде азайту және көбейту операциялары қандай ретпен орындалуы тиіс екені түсініксіз. Мұндай өрнектер әдетте белгісіз мінез-құлық тудырады және оларды болдырмау керек.
Достарыңызбен бөлісу: |