개발/C++ 22

사용하지 않는 반환 값을 무효화하는 이유는 무엇입니까?

int fn(); void whatever() { (void) fn(); } 사용하지 않은 반품 가치를 무효화 할 이유가 있습니까, 아니면 완전한 시간 낭비라고 생각하는 것이 맞습니까? 후속 조치 : 꽤 포괄적 인 것 같습니다. 자체 문서화 코드가 주석보다 낫기 때문에 사용하지 않는 반환 값을 주석 처리하는 것보다 낫다고 생각합니다. 개인적으로 불필요한 소음 이니까이 경고를 끄겠습니다. 그것 때문에 벌레가 도망 치면 내 말을 먹어 볼게 ... David의 대답은이 함수가 반환하는 것을 알고 있지만 명시 적으로 무시하고 있음을 다른 "개발자"에게 명시 적으로 보여 주려는 동기를 거의 다룹니다. 이는 필요한 오류 코드가 항상 처리되도록하는 방법입니다. C ++의 경우 전체 정적 캐스트 표기법을 사용하는 것이..

개발/C++ 2020.09.24

Qt Creator 프로젝트에 외부 라이브러리 추가

Qt Creator RC1 (버전 0.9.2)에서 빌드 한 프로젝트에 외부 라이브러리를 추가하려면 어떻게해야합니까? 예를 들어 win32 함수 EnumProcesses ()는 빌드 할 프로젝트에 Psapi.lib를 추가해야합니다. 이를 수행하는 적절한 방법은 다음과 같습니다. LIBS += -L/path/to -lpsapi 이렇게하면 Qt가 지원하는 모든 플랫폼에서 작동합니다. 아이디어는 라이브러리 이름에서 디렉토리를 분리해야한다는 것입니다 (확장자없이 'lib'접두사없이). 물론 Windows 특정 lib를 포함하는 경우 이것은 실제로 중요하지 않습니다. 프로젝트 디렉토리에 lib 파일을 저장하려는 경우 $$ _ PRO_FILE_PWD_ 변수로 참조 할 수 있습니다. 예 : LIBS +=..

개발/C++ 2020.09.24

C ++ 템플릿 Turing-complete?

C ++의 템플릿 시스템은 컴파일 시간에 Turing-complete라고 들었습니다. 이것은이 게시물과 wikipedia에서도 언급됩니다. 이 속성을 활용하는 계산의 사소한 예를 제공 할 수 있습니까? 이 사실이 실제로 유용합니까? 예 #include template struct Factorial { enum { val = Factorial::val * N }; }; template struct Factorial { enum { val = 1 }; }; int main() { // Note this value is generated at compile time. // Also note that most compilers have a limit on the depth of the recursion avai..

개발/C++ 2020.09.24

삽입 순서를 추적하는 std :: map?

현재 std :: map이 있습니다. 고유 한 문자열 식별자에 정수 값을 저장하고 문자열을 검색합니다. 게재 신청서를 추적하지 않는다는 점을 제외하면 대부분 내가 원하는 작업을 수행합니다. 따라서 맵을 반복하여 값을 출력하면 문자열에 따라 정렬됩니다. 하지만 (첫 번째) 삽입 순서에 따라 정렬되기를 바랍니다. 나는 벡터를 사용하는 것에 대해 생각했다 대신 문자열을 찾고 정수 값을 약 10,000,000 번 증가시켜야하므로 std :: vector가 상당히 느릴 지 여부를 알 수 없습니다. std :: map을 사용하는 방법이 있습니까 아니면 내 필요에 더 적합한 다른 표준 컨테이너가 있습니까? [저는 GCC 3.4를 사용하고 있으며 std :: map에 50 쌍 이하의 값이있을 것입니다.] 감사. std..

개발/C++ 2020.09.24

libpng 경고 : iCCP : 알려진 잘못된 sRGB 프로필

SDL을 사용하여 PNG 이미지를로드하려고하는데 프로그램이 작동하지 않고이 오류가 콘솔에 나타납니다. libpng 경고 : iCCP : 알려진 잘못된 sRGB 프로필 이 경고가 나타나는 이유는 무엇입니까? 이 문제를 해결하려면 어떻게해야합니까? Libpng-1.6은 이전 버전보다 ICC 프로파일 검사에 대해 더 엄격합니다. 경고를 무시할 수 있습니다. 이를 제거하려면 PNG 이미지에서 iCCP 청크를 제거하십시오. 일부 응용 프로그램은 경고를 오류로 처리합니다. 그러한 응용 프로그램을 사용하는 경우 청크를 제거해야합니다. ImageMagick과 같은 다양한 PNG 편집기를 사용하여이를 수행 할 수 있습니다. convert in.png out.png 폴더 (디렉토리)의 모든 PNG 파일에서 잘못된 iCCP..

개발/C++ 2020.09.24
728x90