"i ++ + i ++ + i ++ + i ++"표현식에서 어떤 일이 발생했는지 알아보기 위해 아래와 같은 테스트 프로그램을 작성했습니다. 는 g ++ 4.6.3 우분투 12.04 본 프로그램을 실행하는 컴파일 결과는 : 하나, 둘, 내가 정의 Int 유형을 사용하여 테스트 케이스의 결과의 콘트라스트
construct 3
constr
in this answer으로 정의 된 난수 생성기를 구현하려고합니다. 적어도 내 지식으로는 첫 번째 라인 인 static unsigned long x=123456789, y=362436069, z=521288629;을 구현해야하는 방식과 관련하여 모호한 점이 있습니다. 함수 외부에 표시되어 있기 때문입니다. 나는 그것이 클래스 멤버로 구성되었다고 가정하고
진 사이에 지정합니까 후위를 붙이면 작동합니다! 단항을 포함하지 않는 것을 제외하고 - 무의미한 것을 의미하고 단항 +는 실제로 많은 것을하지 않습니다. 일단 수정본으로 변환하면 단항 +는 p가되고 단항은 -가됩니다. 예를 들어 내가 중위 식을 읽고 있습니다 경우 3 + 3 -> 3 3 +
+3 + 3 -> 3 p 3 +
-(3-3) -> 3 3
다음 바이너리 뺄셈이 왜 결과를 제공하는지 이해하는 데 어려움이 있습니다. 나는 다른 대답을 계속하고있다. x가 0.00011001100110011001100 인 0.1-x를 계산하려고합니다. 대답은 0.000000000000000000000001100 [1100] ... (1100은 반복됩니다) 내가 그것을 할 때, 나는 처음부터 1100을 계속 간직하고
나는 다음과 같은 코드 조각이 : 나는 아주 많이 싶습니다 public void AddHash(int val)
{
m_Hash ^= (val & 0x3FFFFFF);
m_Hash ^= (val >> 26) & 0x3F;
}
는 그것이 무엇을 도대체 알 수있는,하지만 난 것을 어떻게하면 m_Hash가 그 번호를 가지
나는 다음 bash 명령의 출력에 대한 질문을했다 걸렸 최근 검사 : var=; [ -n $var ]; echo $?; [ -z $var ]; echo $?
결과는 단항 연산자 모두 오류가 없었의 반환 코드를 나타내는 0 및 0 있습니다. 이것은 $var이 null (비어 있음)과 'non-null'(비어 있지 않음) 모두로 해석된다는 것을 의미합니다.
저는 템플릿 기반 행렬 클래스를 작성하고 있습니다. 더 큰 행렬에 대해서는 연산자로 값을 반환 할 때 스택 오버플로가 발생합니다. 나는 스택을 완화하기 위해 어떻게 든 참조로 반환하는 것을 선호하고 여분의 복사를 방지하기 위해, 그러나, 나는 새로운로 구성 객체를 반환해야하고 "모든 새로운에 대한을 삭제 를 사용하여"의 일반적인 규칙을 깰 . 오버 헤드 및