Кіріспе
Екі компьютерлік тілде де ұқсас синтаксис. Бұл C және C++ бағдарламалау тілдеріндегі операторлардың тізімі. Аталған барлық операторлар (typeof-тан басқа) C++-да кездеседі; "C-ге кіреді" бағанында оператор C тілінде де бар-жоғы көрсетілген. C тілі операторларды жүктеуді (overloading) қолдамайды. Жүктемелмеген жағдайда, &&, || және , (үтір операторы) операторлары үшін бірінші операндтың бағаланғаннан кейін реттілік нүктесі болады. C++ сонымен қатар типті түрлендіру операторларын қамтиды: const_cast, static_cast, dynamic_cast және reinterpret_cast. Бұл операторлардың форматталуы олардың басымдық деңгейінің маңызды еместігін көрсетеді. C және C++ тілдерінде қол жетімді көптеген операторлар C#, D, Java, Perl және PHP сияқты басқа C отбасы тілдерінде де бірдей басымдықпен, байланыстырумен (associativity) және мағынасымен (semantics) қолданылады.
This is a list of operators in the C and C++ programming languages. All the operators (except typeof) listed exist in C++; the column "Included in C", states whether an operator is also present in C. Note that C does not support operator overloading. When not overloaded, for the operators &&, ||, and , (the comma operator), there is a sequence point after the evaluation of the first operand. C++ also contains the type conversion operators const cast, static cast, dynamic cast, and reinterpret cast. The formatting of these operators means that their precedence level is unimportant. Most of the operators available in C and C++ are also available in other C family languages such as C#, D, Java, Perl, and PHP with the same precedence, associativity, and semantics.
Кестені
Осы кестелер мақсатында a, b және c жарамды мәндерді (тура мәндер, айнымалылардан алынған мәндер немесе қайтарылатын мәндер), объектілердің атауларын немесе l-мәндерін көрсетеді, жағдайға қарай. R, S және T кез келген типті немесе типтерді, ал K – сыныптық типті немесе тізімделген типті білдіреді. Кейбір операторлар диграфтар мен триграфтарды немесе операторлардың синонимдерін пайдаланады.
Бит бойынша операторлар
Барлық бит операторлары C және C++ тілдерінде бар және C++ тілінде жүктелуі мүмкін. Оператордың атауы Синтаксис Прототип мысалдары K мүшесі ретінде Сыныптан тыс анықтамалар Бітшалық ЖОҚ ~a Бітшалық ЖӘНЕ a & b Бітшалық НЕ a | b Бітшалық ЕХО a ^ b Бітшалық солға жылжыту арифметикалық жылжытуды қолданады (яғни, таңба кеңейтілуі), бірақ логикалық жылжыту да мүмкін. a >> b
Биттік және теңдік операторларының басымдылығын сынға алу
Биттік логикалық операторлардың басымдығы сынға ұшырады. Концепция бойынша, & және | операторлары * және + сияқты арифметикалық операторлар болып табылады. өрнегі синтаксистік тұрғыдан былай талданады: , ал өрнегі былай талданады: . Бұл жағдайда, қажет болған жағдайда қарағанда көбірек жақша қолдану қажет. Тарихи тұрғыдан алғанда, биттік және логикалық операторлар арасында синтаксистік ерекшелік болған жоқ. BCPL, B және алғашқы C тілдерінде операторлары болған жоқ. Оның орнына, олар "шындық мән контекстінде" қолданылуына байланысты әртүрлі мағынаға ие болды (яғни, Бульдік мән күтілген кезде, мысалы, логикалық оператор ретінде, ал биттік оператор ретінде әрекет етті). Бұл қолданыстағы жүйелермен кері үйлесімділікті сақтау үшін сақталды. Сонымен қатар, C++ (және C тілінің кейінгі нұсқаларында) үштік салыстыру операторынан басқа барлық теңдік операциялары bool типіндегі мәндерді қайтарады, олар концепция бойынша бір бит (1 немесе 0) болып табылады және сондықтан "биттік" операцияларға дұрыс жатпайды.