«language-lawyer» 태그된 질문

프로그래밍 언어 및 환경의 공식 또는 권위있는 사양의 복잡성에 대한 질문

8
C ++ 11은 표준화 된 메모리 모델을 도입했습니다. 무슨 뜻이에요? 그리고 C ++ 프로그래밍에 어떤 영향을 미치나요?
C ++ 11은 표준화 된 메모리 모델을 도입했지만 정확히 무엇을 의미합니까? 그리고 C ++ 프로그래밍에 어떤 영향을 미치나요? Herb Sutter 를 인용 한 Gavin Clarke 의이 기사 는 다음과 같이 말합니다. 메모리 모델은 C ++ 코드에 컴파일러를 만든 사람과 실행중인 플랫폼에 관계없이 호출 할 표준화 된 라이브러리가 있음을 의미합니다. 다른 …

5
CSS Flexbox에서 "justify-items"및 "justify-self"속성이없는 이유는 무엇입니까?
플렉스 컨테이너의 주축과 횡축을 고려하십시오. 출처 : W3C 주축을 따라 플렉스 항목을 정렬하려면 하나의 속성이 있습니다. justify-content 가로축을 따라 플렉스 항목을 정렬하려면 세 가지 속성이 있습니다. align-content align-items align-self 위 이미지에서 주축은 가로이고 가로축은 세로입니다. 이것이 플렉스 컨테이너의 기본 방향입니다. 그러나 이러한 방향은 flex-direction속성 과 쉽게 교환 할 수 있습니다 …


20
int a [] = {1,2,}; 이상한 쉼표가 허용되었습니다. 특별한 이유가 있습니까?
어쩌면 나는이 행성에서 왔지만 다음과 같은 구문 오류가 있어야합니다. int a[] = {1,2,}; //extra comma in the end 그러나 그렇지 않습니다. 나는이 코드는 비주얼 스튜디오에서 컴파일 할 때 놀랐습니다,하지만 난 표준을 확인하고 그것이 지금까지 C ++ 규칙에 관한 한, 그래서 같이 MSVC 컴파일러를 신뢰하지 배운 되는 표준에 의해 허용뿐만 아니라. …


12
main이 유효한 Java 식별자입니까?
내 아이들 중 하나가 고등학교에서 Java를 사용하고 있으며 그의 테스트 중 하나에서 이것을 가지고 있습니다. 다음 중 Java에서 유효한 식별자는 무엇입니까? ㅏ. 123java 비. main 씨. java1234 디. {abce 이자형. )whoot 그는 b 에 대답 하고 잘못했습니다. 나는 질문을 보았고, 그 주장 main 이다 유효한 식별자과 잘 했어야있다. 식별자 에 …

11
f (i = -1, i = -1) 동작이 정의되지 않은 이유는 무엇입니까?
나는 평가 위반 순서에 대해 읽고 있었고 , 그들은 나를 당황스럽게하는 예를 제시합니다. 1) 스칼라 객체의 부작용이 동일한 스칼라 객체의 다른 부작용에 비해 순서가 맞지 않으면 동작이 정의되지 않습니다. // snip f(i = -1, i = -1); // undefined behavior 이러한 맥락에서, iA는 스칼라 객체 명백하게 수단 산술 유형 (3.9.1), …

8
스위치 케이스에서 유효하지만 쓸모없는 구문?
약간의 오타를 통해 실수 로이 구성을 찾았습니다. int main(void) { char foo = 'c'; switch(foo) { printf("Cant Touch This\n"); // This line is Unreachable case 'a': printf("A\n"); break; case 'b': printf("B\n"); break; case 'c': printf("C\n"); break; case 'd': printf("D\n"); break; } return 0; } 것 같다 printf의 상단에 switch문이 완전히 …

4
i = i ++ + 1; C ++ 17에서 합법적입니까?
정의되지 않은 동작을 시작하기 전에 N4659 (C ++ 17)에 명시 적으로 나열되어 있습니다. i = i++ + 1; // the value of i is incremented 그러나 N3337 (C ++ 11) i = i++ + 1; // the behavior is undefined 무엇이 바뀌 었습니까? 내가 수집 할 수있는 것, [N4659 basic.exec] …

6
C ++ 11, 14, 17 또는 20은 파이에 대한 표준 상수를 도입합니까?
C와 C ++의 숫자 pi에는 다소 어리석은 문제가 있습니다. 멀리로 나는 알고 M_PI에 정의 된 math.h표준에 의해 필요하지 않습니다. 새로운 C ++ 표준은 표준 라이브러리에서 쌍곡선 함수 std::hermite및 std::cyl_bessel_i다른 난수 생성기 등 의 복잡한 수학을 많이 도입했습니다 . '새로운'표준 중 어떤 것이 파이에 대한 상수를 가져 왔습니까? 그렇지 않은 경우-왜? …

4
“false <true”작업이 올바르게 정의되어 있습니까?
C ++ 사양은 다음을 정의합니까? 부울 매개 변수에 대해 '보다 작음'연산자의 존재 4 개의 매개 변수 순열의 결과? 즉, 다음 작업의 결과가 사양에 정의되어 있습니까? false &lt; false false &lt; true true &lt; false true &lt; true 내 설정 (Centos 7, gcc 4.8.2)에서 아래 코드는 내가 기대하는 것을 뱉어냅니다 (C가 …

8
“while (1);”최적화 C ++ 0x에서
업데이트, 아래 참조! C ++ 0x를 사용하면 컴파일러가 다음 스 니펫에 대해 "Hello"를 인쇄 할 수 있습니다. #include &lt;iostream&gt; int main() { while(1) ; std::cout &lt;&lt; "Hello" &lt;&lt; std::endl; } 분명히 스레드 및 최적화 기능과 관련이 있습니다. 이것은 많은 사람들을 놀라게 할 수 있다고 생각합니다. 누군가 이것이 왜 이것이 허용되어야했는지에 …

1
std :: vector :: erase () 및 std :: deque :: erase ()의 할당 복사 / 이동
대답하는 과정에서 또 다른 질문 I가 약간 다른 원문 우연히 std::vector::erase()및 std::deque::erase(). 이것이 C ++ 14가 std::deque::erase( [deque.modifiers]/4-6, 강조 광산)에 대해 말한 것입니다. 효과 : ... 복잡성 : 소멸자에 대한 호출 수는 지워진 요소 수와 동일하지만 대입 연산자 에 대한 호출 수는 요소 수보다 작거나 같지 않습니다. 지워진 요소. 예외없는 …

4
C ++ zero initialize-왜이 프로그램에서`b`가 초기화되지 않았는데`a`가 초기화 되었습니까?
이 스택 오버플로 질문에 대한 (그리고 유일한) 답변에 따르면 , 로 생성자 정의 MyTest() = default; 대신 객체를 0으로 초기화합니다. 그렇다면 왜 다음을 수행합니까? #include &lt;iostream&gt; struct foo { foo() = default; int a; }; struct bar { bar(); int b; }; bar::bar() = default; int main() { foo a{}; …

3
이 코드는 sizeof ()를 사용하지 않고 어떻게 배열 크기를 결정합니까?
C 인터뷰 질문을 통해 다음과 같은 해결책으로 "sizeof 연산자를 사용하지 않고 C에서 배열의 크기를 찾는 방법은 무엇입니까?"라는 질문을 발견했습니다. 작동하지만 이유를 이해할 수 없습니다. #include &lt;stdio.h&gt; int main() { int a[] = {100, 200, 300, 400, 500}; int size = 0; size = *(&amp;a + 1) - a; printf("%d\n", size); …

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