«c++» 태그된 질문

C ++는 범용 프로그래밍 언어입니다. 원래 C에 대한 확장으로 설계되었으며 유사한 구문을 갖지만 이제는 완전히 다른 언어입니다. C ++ 컴파일러로 컴파일 된 코드에 대한 질문에이 태그를 사용하십시오. 특정 표준 개정 [C ++ 11], [C ++ 14], [C ++ 17] 또는 [C ++ 20] 등과 관련된 질문에 버전 별 태그를 사용하십시오.

20
(1) 대. for (;;) 속도 차이가 있습니까?
긴 버전 ... 동료는 오늘 while (1)Perl 스크립트에서 for (;;)더 빠른 사용을보고 나서 주장했다 . 나는 그들이 통역사가 어떤 차이를 최적화하길 바라고 같은 것이되어야한다고 주장했다. 루프 반복 및 동일한 수의 while 루프에 대해 1,000,000,000을 실행하고 그 사이의 시간을 기록하는 스크립트를 설정했습니다. 나는 눈에 띄는 차이를 찾을 수 없었다. 저의 동료는 …

7
표준위원회가 관심을 갖는 이국적인 아키텍처
C 및 C ++ 표준은 다른 특성을 가진 아키텍처가있는 경우 표준 준수 컴파일러를 작성하는 것이 매우 어렵거나 불가능하기 때문에 언어 구현 정의의 여러 측면을 남겨둔다는 것을 알고 있습니다. 나는 40 년 전에 모든 컴퓨터가 고유 한 사양을 가지고 있다는 것을 알고 있습니다. 그러나 현재 사용되는 아키텍처는 다음과 같습니다. CHAR_BIT != …
154 c++  c  architecture 

11
C ++에서 문자열 상수에서 'char *'로의 변환이 더 이상 사용되지 않습니다.
나는 수업이 있습니다 private char str[256]; 그리고 그것을 위해 명시 적 생성자가 있습니다. explicit myClass(const char *func) { strcpy(str,func); } 나는 그것을 다음과 같이 부른다. myClass obj("example"); 이것을 컴파일하면 다음 경고가 나타납니다. 문자열 상수에서 'char *'로의 더 이상 사용되지 않는 변환 왜 이런 일이 발생합니까?




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; } 분명히 스레드 및 최적화 기능과 관련이 있습니다. 이것은 많은 사람들을 놀라게 할 수 있다고 생각합니다. 누군가 이것이 왜 이것이 허용되어야했는지에 …

6
C ++을 LR (1) 파서로 파싱 할 수없는 이유는 무엇입니까?
파서 및 파서 생성기에 대해 읽고 있었고 wikipedia의 LR 파싱 페이지 에서이 문장을 발견했습니다. LR 파서의 변형을 사용하여 많은 프로그래밍 언어를 파싱 할 수 있습니다. 주목할만한 예외 중 하나는 C ++입니다. 왜 그래야만하지? C ++의 어떤 특정 속성으로 인해 LR 파서로 구문 분석 할 수 없습니까? Google을 사용하면 C가 LR …

7
boost :: thread 및 boost :: mutex를 c ++ 11에 해당하는 것으로 대체하는 것이 현명합니까?
동기 부여 : 내가 생각하는 이유는 내 천재 프로젝트 관리자가 부스트가 또 다른 의존성이라고 생각하고 "당신이 그것에 의존"하기 때문에 끔찍하다고 생각하기 때문입니다. 내가하고 싶은 작은 이유는 사람들이 코드 작성을 시작하기 때문에 c ++ 11 기능을 배우고 싶기 때문입니다. #include&lt;thread&gt; #include&lt;mutex&gt;부스트와 부스트 간에 1 : 1 매핑이 있습니까? 부스트 항목을 c …


14
C / C ++에서 NULL 포인터 확인 [닫기]
휴무 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 이 질문을 개선하십시오 최근 코드 검토에서 기고자는 NULL포인터에 대한 모든 검사가 다음과 같은 방식으로 수행되도록 노력하고 있습니다. int …

6
main ()이 종료되면 분리 된 스레드는 어떻게됩니까?
내가 시작한 std::thread다음 detach()스레드를 실행 한다고 가정 하면 스레드 std::thread가 한 번 표현 했지만 스레드가 계속 실행되지 않습니다 . 또한 프로그램에 분리 된 스레드 1 을 결합하기위한 신뢰할 수있는 프로토콜이 없으므로 분리 된 스레드가 main()종료 될 때에도 계속 실행 됩니다. 표준에서 (더 정확하게는 N3797 C ++ 14 초안에서) 아무것도 찾을 …

13
num ++가 'int num'의 원자가 될 수 있습니까?
일반적 속 int num, num++(나 ++num), 판독 - 수정 - 기록 동작으로, 인 원자 없다 . 그러나 종종 GCC 와 같은 컴파일러 가 다음 코드를 생성하는 것을 종종 볼 수 있습니다 ( here 시도 ). num++하나의 명령에 해당하는 5 번 라인 이이 경우에 num++ 원자 라고 결론 지을 수 있습니까? …

11
RTTI는 얼마나 비쌉니까?
RTTI를 사용하면 리소스가 적다는 것을 알고 있지만 얼마나 큽니까? 내가 본 곳 어디에서나 "RTTI는 비싸다"고 말하지만 실제로 메모리, 프로세서 시간 또는 속도를 보호하는 벤치 마크 또는 정량적 데이터를 제공하지는 않습니다. RTTI는 얼마나 비쌉니까? RAM이 4MB 밖에없는 임베디드 시스템에서 사용할 수 있으므로 모든 비트가 중요합니다. 편집 : S. Lott의 답변 에 …
152 c++  performance  rtti 

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