f0 및 f1을 동일한 바이트에 포함하는 구현의 경우 아래 정의 된 프로그램이 있습니까? struct S0 {
unsigned f0:4;
signed f1:4;
} l_62;
int main (void) {
(l_62.f0 = 0) + (l_62.f1 = 0);
return 0;
}
나는 거기에 다른 생
새로운 C++ 11 표준이 시퀀스 포인트가 어떻게 기술되는지에 대해 변경 했으므로 나는 C++ 03과 C++ 11 사이에서 무엇이 변경되었는지 정확히 알아 내려하고 있습니다. 특히, 같은 모양의 코드가 C++ 11에는 시퀀스 포인트가 있지만 C++ 03에는없는 상황이 있습니까?
평가 순서가 "왼쪽에서 오른쪽"으로 지정되고 언어가 (의사) C와 유사한 경우 다음 예제의 시퀀스 포인트 인 ? int x = 1;
int z = x-- + x; // z = 1 + 0 or z = 1 + 1?
my_func(x++); // x incremented before or after my_func execution?
my_func(x++ +
(++i)++ 정의되지 않은 동작입니까? 접미사 증분의 부작용이 후위 증가를 위해 증분 된 객체를 검색 한 후에 발생할 수 있습니까? 그것은 나에게 이상하게 보일 것이다. 내 직감에 따르면 C++ 03에서는 정의되지 않았으며 C++ 11에서는 잘 정의되어 있습니다. 내가 맞습니까?
포스트 증가 연산자는 언제 증가에 영향을 줍니까? http://gd.tuwien.ac.at/languages/c/programming-bbrown/c_015.htm에서 1) : 나는이 개 의견에 걸쳐 온 POST 수단은 할당 작업 후 작업을 수행합니다. 2) 가까이 집, answer on SO (++ C에 불구하고)는 말한다 : 는 ... 그 표현 (다음
동일한 참조가 실제로 참조 될 수도 있고 실제로 참조되지 않을 수도있는 두 개의 참조를받는 부모 클래스가 있습니다. class A
{
public:
A(int) {}
private:
A() {}
};
class Parent
{
public:
Parent(A&, A&) {}
};
class
체인 된 정적 함수와 멤버 함수 사이의 인수 평가 순서에 차이가 있는지 궁금합니다. this question의 답변에서 나는 연쇄 함수 호출간에 인수 평가 순서가 무엇인지 명시하지 않는다는 것을 알 수 있습니다. 예를 들어 다음 코드 가지고 : GCC 4.6.2 및 CL 15.00.30729.01 (MSVC 9)의 경우 #include <iostream>
'?' 오른쪽에서 왼쪽으로 2 회 연속 '?' 통신 수는 그런 것과 같이 대우되어야한다, 권리? int x=-1;
int y=x?x++?x:-1:1;
내가 기대 이제 이 실행되는 등 '?'의이 오른쪽에서 왼쪽으로 실행되고 이후 지금 int y = x ? (x++?x:-1) : 1;
, 첫 번째가 발생한 경우 성명에서, X의 값은 0이고 표현은 in