«c++» 태그된 질문

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



9
C ++ 헤더의 "네임 스페이스 사용"
모든 C ++ 과정에서 모든 교사는 항상 파일 using namespace std;에서 #includes 바로 뒤에 배치 .h합니다. 그 이후로 다른 프로그램에 해당 헤더를 포함하면 내 프로그램으로 네임 스페이스를 가져올 수 있습니다. 그 이후로 이것은 나에게 위험한 것 같습니다. 아마도 그것을 깨닫거나 의도하거나 원하지 않는 것입니다 (헤더 포함은 매우 깊게 중첩 될 …


20
C ++ 열거 형을 문자열에 쉽게 매핑하는 방법
사용중인 일부 라이브러리 헤더 파일에 열거 형 유형이 많이 있으며 열거 형 값을 사용자 문자열로 변환하는 방법을 원합니다. RTTI는 '사용자 문자열'이 열거 형보다 조금 더 읽기 쉬워야하기 때문에 나를 위해하지 않습니다. 무차별 대입 솔루션은 이와 같은 여러 기능이 될 수 있지만 너무 C와 비슷하다고 생각합니다. enum MyEnum {VAL1, VAL2,VAL3}; String …
119 c++  templates  enums 

1
템플릿 클래스 내부의 템플릿 함수
이 코드가 있습니다. template <class T> class MyClass { public: template <class U> void foo() { U a; a.invoke(); } }; 이 형식으로 원합니다. template <class T> class MyClass { public: template <class U> void foo(); }; template <class T> /* ????? */ void MyClass<T>::foo() { U a; a.invoke(); } …
119 c++  templates 

7
gcc / g ++를 사용하여 Linux에서 Windows 용으로 컴파일하는 방법은 무엇입니까?
Linux에서 freeglut를 사용하여 C ++ (g ++)로 일부 효과를 작성했으며 다음으로 컴파일합니다. g++ -Wall -lglut part8.cpp -o part8 그래서 g ++가 필요한 모든 것을 포함하는 정적 컴파일 된 Windows 실행 파일을 만들 수 있는지 궁금합니다. 나는 Windows가 없으므로 Linux에서 할 수 있다면 정말 멋질 것입니다. :)
119 c++  opengl  gcc  glut  freeglut 

1
-fPIC 컴파일러 옵션을 추가하는 CMAKE의 관용적 방법은 무엇입니까?
나는 이것을하기위한 적어도 3 가지 방법을 발견했고 나는 어떤 것이 관용적 인 방법인지 궁금하다. 이것은 거의 모든 정적 라이브러리에 대해 거의 보편적으로 수행되어야합니다. CMake의 Makefile 생성기가이를 정적 라이브러리에 자동으로 추가하지 않는다는 사실에 놀랐습니다. (내가 놓친 게 아니라면?) target_compile_options(myLib PRIVATE -fPIC) add_compile_options(-fPIC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpic") 다른 변형이있을 수도 …
119 c++  c  cmake 


15
포인터가 기본적으로 NULL로 초기화되지 않는 이유는 무엇입니까?
누군가 포인터가 초기화되지 않은 이유를 설명해 주 NULL시겠습니까? 예: void test(){ char *buf; if (!buf) // whatever } 프로그램은 bufnull이 아니기 때문에 if 내부로 들어 가지 않습니다. 나는 왜 어떤 경우에 쓰레기가있는 변수, 특히 메모리의 쓰레기를 다루는 포인터가 필요한지 알고 싶습니다.

6
stdin이 터미널인지 파이프인지 감지합니까?
python인수없이 터미널에서 " "을 실행 하면 Python 대화 형 셸이 나타납니다. cat | python터미널에서 " "을 실행하면 대화 형 모드가 시작되지 않습니다. 어떻게 든 입력을받지 않고 파이프에 연결되어 있음을 감지했습니다. C, C ++ 또는 Qt에서 유사한 감지를 어떻게 수행합니까?
118 c++  c  qt  pipe  stdin 

9
메모리 누수는 얼마나 멀리 갈 수 있습니까?
메모리 누수가 여러 번 발생했습니다. 보통 내가 malloc내일이없는 것처럼, 또는 FILE *더러운 빨래처럼 매달릴 때 . 나는 일반적으로 적어도 프로그램이 종료 될 때 모든 메모리가 정리된다고 가정합니다 (필사적으로 희망합니다). 프로그램이 종료되거나 충돌 할 때 누수 된 메모리가 수집되지 않는 상황이 있습니까? 대답이 언어마다 크게 다르면 C (++)에 중점을 둡니다. '내일이없는 …
118 c++  c  memory  memory-leaks 

9
8 비트 정수에서 크기가 8 비트보다 큰 값을 어떻게 얻었습니까?
나는이 작은 보석 뒤에 숨어있는 매우 불쾌한 벌레를 추적했습니다. C ++ 사양에 따라 서명 된 오버플로는 정의되지 않은 동작이지만 값이 bit-width로 확장 될 때 오버플로가 발생할 때만 발생한다는 것을 알고 sizeof(int)있습니다. 내가 이해했듯이, 증가하는 char것은 sizeof(char) < sizeof(int). 그러나 그것은 불가능한 가치를 c얻는 방법을 설명하지 않습니다 . 8 비트 정수로서 …

5
`is_base_of`는 어떻게 작동합니까?
다음 코드는 어떻게 작동합니까? typedef char (&yes)[1]; typedef char (&no)[2]; template <typename B, typename D> struct Host { operator B*() const; operator D*(); }; template <typename B, typename D> struct is_base_of { template <typename T> static yes check(D*, T); static no check(B*, int); static const bool value = sizeof(check(Host<B,D>(), int())) …

8
GCC에 대한 컴파일러 힌트가 분기 예측이 항상 특정 방식으로 진행되도록 강제합니까?
인텔 아키텍처의 경우 GCC 컴파일러가 항상 내 코드에서 특정 방식으로 분기 예측을 강제하는 코드를 생성하도록 지시하는 방법이 있습니까? 인텔 하드웨어가이를 지원합니까? 다른 컴파일러 나 하드웨어는 어떻습니까? 빨리 실행하고 싶은 경우를 알고 있고 최근에 해당 분기를 가져 갔더라도 다른 분기를 가져와야 할 때 속도가 느려지는 것에 대해 신경 쓰지 않는 C …

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