«operator-precedence» 태그된 질문

연산자 우선 순위는 프로그래밍 언어의 식 또는 문 내에서 연산자가 평가되는 순서를 제어하는 ​​규칙을 나타냅니다. 소프트웨어 시스템에서 실행 이벤트의 순서를 다루는 [실행 순서]와는 다릅니다.


10
'AND'대 '&&'연산자
나는 개발자가 사용하기로 결정 코드베이스가 AND와 OR대신 &&과 ||. 나는 연산자의 우선 순위에 차이가 있다는 것을 알고 있지만 ( &&앞에 가야 함 and) 주어진 프레임 워크 ( PrestaShop 이 정확함)를 사용하면 분명히 이유가 아닙니다. 어떤 버전을 사용하고 있습니까? and보다 읽기 쉬운 가요 &&? 아니면 차이가 없습니까?




7
단락 논리 연산자가 필수입니까? 그리고 평가 순서?
는 ANSI 표준합니까 임무는 논리 연산자 중 하나를 C 또는 C ++에서 단락이 될? 나는 당신의 코드가 단락 된 작업에 의존해서는 안된다는 K & R 책을 회상합니다. 누군가 표준에서 로직 연산이 항상 단락 된 곳을 지적 할 수 있습니까? 나는 주로 C ++에 관심이 있으며 C에 대한 대답도 훌륭합니다. 또한 …

5
쉼표가있는 삼항 연산자가 실제 경우에 하나의 표현식 만 평가하는 이유는 무엇입니까?
저는 현재 C ++ Primer 책으로 C ++를 배우고 있으며이 책의 연습 중 하나는 다음과 같습니다. 다음 표현이 무엇을하는지 설명하십시오. someValue ? ++x, ++y : --x, --y 우리는 무엇을 압니까? 삼항 연산자가 쉼표 연산자보다 우선 순위가 높다는 것을 알고 있습니다. 이항 연산자를 사용하면 이해하기 쉬웠지만 삼항 연산자를 사용하면 약간 어려움을 …


7
자바 스크립트 삼항 연산자를 사용한 연산자 우선 순위
이 코드의 첫 부분 (+ =)을 삼항 연산자와 함께 사용하여 머리를 감쌀 수 없습니다. h.className += h.className ? ' error' : 'error' 이 코드가 작동한다고 생각하는 방식은 다음과 같습니다. h.className = h.className + h.className ? ' error' : 'error' 그러나 내 콘솔에 오류가 발생하기 때문에 올바르지 않습니다. 그래서 내 질문은이 …

7
C ++에서 명령문 순서 적용
고정 된 순서로 실행하려는 문이 여러 개 있다고 가정합니다. 최적화 수준 2에서 g ++를 사용하여 일부 명령문을 재정렬 할 수 있습니다. 특정 명령문 순서를 적용하려면 어떤 도구가 필요합니까? 다음 예를 고려하십시오. using Clock = std::chrono::high_resolution_clock; auto t1 = Clock::now(); // Statement 1 foo(); // Statement 2 auto t2 = Clock::now(); …

4
메서드 체인의 C ++ 실행 순서
이 프로그램의 출력 : #include <iostream> class c1 { public: c1& meth1(int* ar) { std::cout << "method 1" << std::endl; *ar = 1; return *this; } void meth2(int ar) { std::cout << "method 2:"<< ar << std::endl; } }; int main() { c1 c; int nu = 0; c.meth1(&nu).meth2(nu); } …

3
SQL Server의 이상한 작업 문제 : -100 / -100 * 10 = 0
실행 SELECT -100/-100*10하면 결과는 0. 실행 SELECT (-100/-100)*10하면 결과는 10. 실행 SELECT -100/(-100*10)하면 결과는 0. 실행 SELECT 100/100*10하면 결과는 10. BOL 상태 : 식에서 두 연산자의 연산자 우선 순위 수준이 같으면 식에서의 위치를 ​​기준으로 왼쪽에서 오른쪽으로 평가됩니다. 과 Level Operators 1 ~ (Bitwise NOT) 2 * (Multiplication), / (Division), % …


1
우선 순위 및 비트 마스크 작업
나는 (겉보기에) 매우 이상한 사건을 만났습니다. 숫자 2 ( 0b10)를 가져 와서 1 ( 0b01)로 비트 마스킹합니다. 이것은 0b000에 해당하는 것을 생성해야합니다 . 그러나 Schrödinger가 등장하는 곳은 다음과 같습니다. var_dump(0b10 & 0b01); // int(0) var_dump(0b10 & 0b01 == 0); // int(0) var_dump(0b10 & 0b01 != 0); // int(0) 위스키. 탱고. …

2
“The C ++ Programming Language”제 4 판 섹션 36.3.6의이 코드가 잘 정의 된 동작을 가지고 있습니까?
Bjarne Stroustrup의 The C ++ Programming Language 4 판 섹션 36.3.6 STL-like Operations 에서 다음 코드는 연결 의 예로 사용됩니다 . void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, "" ).replace( s.find( "even" ), 4, "only" …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.