답변
첫 번째 문자는 첫 번째 +
과 두 번째 문자 인 +
사이에 공백이 있습니다. 두 번째 문자는 공백 문자가 아닙니다.
이것은 단항 접두어 연산자 +
의 두 인스턴스로 구문 분석하는 반면, 후자는 단항 접두어 연산자 ++
(물론 리터럴에 적용 할 수 없음)으로 구문 분석한다는 것을 의미합니다.
@KerrekSB'++ '가 리터럴에 적용되지 않고 수정 가능한 리터럴의 존재를 암시하지 않는 이유를 지적하고자했습니다. 하지만 선명도를 높이기 위해 그것을 제거했습니다. – unwind
나는 class-type 값을 가진 사용자 정의 리터럴을 정의하고 그것에 대한 연산자를 오버로드하려고한다. –
이 선언에는 두 개의 다른 연산자가 사용됩니다.
첫 번째 선언에는 단항 더하기 연산자가 두 번 사용됩니다. 내장 유형의 경우 승격 된 피연산자의 값만 반환합니다. 그래서 실제로는 더 당신은 심지어
int i = + + + + + +0;
쓸 수 있지만, 결과가 변경되지 않을 것이다
int i = 0;
에
int i = + +0;
가 동등이 선언 어떤 의미가 없습니다. :)
두 번째 선언에는 단항 접미사 증가 연산자 ++가 사용됩니다. 그것은 rvalues에 적용되지 않을 수 있습니다. 따라서 컴파일러는 오류를 발생시킵니다.
하나 이상의 dclaration을 추가하면 선언이 컴파일됩니다. 예 :
int j = 0;
int i = ++j;
이 경우 lvalue j가 증가 할 수 있습니다. 이니셜 라이저 표현식의 결과는 1과 같습니다. 즉 1로 초기화되고 물론 j 자체도 1과 같습니다.
예를 들어 짝수 개의 위의 예제에서 j 앞에 pluses. 예 :
int j = 0;
int i = ++++++++++++j;
그러나 j 뒤에 한 쌍의 pluses 만 사용할 수 있습니다. 계정으로 예를 들어
int j = 0;
int i = j++++; // compilation error.
그러나 또 다른 질문입니다. :)
가지고 그
왼쪽 오른쪽 단항 연산자 그룹과 식 (C++ 표준)1
및 접두사 증가 연산자 ++ 및 단항 더하기 연산자는 모두 단항 연산자입니다.
- 1. 두 코드 간의 차이점은 무엇입니까?
- 2. javascript이 두 코드 간의 차이점은 무엇입니까?
- 3. 이 두 선언 스타일 간의 차이점은 무엇입니까
- 4. 두 코드 블록의 차이점은 무엇입니까?
- 5. 두 코드 블록의 차이점은 무엇입니까?
- 6. 두 코드 세그먼트의 차이점은 무엇입니까?
- 7. 두 코드 블록의 차이점은 무엇입니까?
- 8. 이 두 SQL 문 간의 차이점은 무엇입니까
- 9. SQL Server의 두 인덱스 간의 차이점은 무엇입니까?
- 10. NSString 간의 차이점은 무엇입니까?
- 11. 두 코드 간의 차이
- 12. 도커와 도커 간의 차이점은 무엇입니까
- 13. 두 가지 종류의 JS 구현 간의 차이점은
- 14. 리스트 뷰 어댑터의 2 코드 간의 차이점은 무엇입니까?
- 15. 이 두 스키마의 차이점은 무엇입니까? 코드 (매크로)
- 16. 이 두 코드 샘플의 차이점은 무엇입니까?
- 17. 이 두 (파이썬) 코드 샘플의 차이점은 무엇입니까?
- 18. 두 코드 스 니펫의 차이점은 무엇입니까?
- 19. 이 두 C++ 코드 블록의 차이점은 무엇입니까?
- 20. 다음 두 코드 블록의 차이점은 무엇입니까?
- 21. IE8에서 체크 박스를 찾을 때 내 코드 간의 차이점은 무엇입니까?
- 22. ComboViewer와 Combo 간의 차이점은 무엇입니까?
- 23. openurlconnection과 connect 간의 차이점은 무엇입니까?
- 24. 이 두 문자열의 차이점은 무엇입니까?
- 25. 이 두 가지의 차이점은 무엇입니까?
- 26. 두 프로그램의 차이점은 무엇입니까?
- 27. CLI와 GUI 간의 NSInteger 차이점은 무엇입니까?
- 28. 스윙의 콘텐츠 창과 레이아웃 간의 차이점은 무엇입니까?
- 29. SMW의 범주와 속성 간의 실제 차이점은 무엇입니까
- 30. 생성자 호출 문 간의 차이점은 무엇입니까?
첫 번째 줄에는 두 개의 덧셈 사이에 공백이 있지만 두 번째 줄에는 공백이 없습니다. –