본문 바로가기
반응형

개발/C++22

C ++ 0x에서 해시 값을 어떻게 결합합니까? C ++ 0x는 hash (...)를 추가합니다. 그러나 부스트에 제시된 것처럼 hash_combine 함수를 찾을 수 없습니다. 이와 같은 것을 구현하는 가장 깨끗한 방법은 무엇입니까? 아마도 C ++ 0x xor_combine을 사용하고 계십니까? 글쎄, 그냥 부스트 녀석들이했던 것처럼하세요 : template inline void hash_combine(std::size_t& seed, const T& v) { std::hash hasher; seed ^= hasher(v) + 0x9e3779b9 + (seed2); } 이 솔루션을 찾는 다른 사람들에게 유용 할 수 있으므로 여기에서 공유하겠습니다. @KarlvonMoor 답변에서 시작하여 여러 값을 함께 결합해야하는 경우 사용이 더 간결한 가변 템.. 2020. 9. 26.
벡터를 함수에 전달하는 방법은 무엇입니까? 벡터를 함수에 대한 인수로 보내려고하는데 어떻게 작동하는지 알 수 없습니다. 여러 가지 방법을 시도했지만 모두 다른 오류 메시지를 표시합니다. 이 부분 만 작동하지 않기 때문에 코드의 일부만 포함합니다. (벡터 "random"은 0에서 200 사이의 임의의 값으로 채워지지만 정렬 됨) 코드 업데이트 : #include #include #include #include using namespace std; int binarySearch(int first, int last, int search4, vector& random); int main() { vector random(100); int search4, found; int first = 0; int last = 99; found = binarySearch.. 2020. 9. 26.
C에서 C ++ 함수를 호출하는 방법은 무엇입니까? 나는이 사실을 알고. C ++에서 C 함수 호출 : 내 응용 프로그램이 C ++이고 C로 작성된 라이브러리에서 함수를 호출해야했다면 다음을 사용했을 것입니다. //main.cpp extern "C" void C_library_function(int x, int y);//prototype C_library_function(2,4);// directly using it. 이것은 C_library_function이라는 이름을 엉망으로 만들지 않으며 링커는 입력 * .lib 파일에서 동일한 이름을 찾고 문제가 해결됩니다. C에서 C ++ 함수 호출 ??? 하지만 여기서는 C로 작성된 대형 애플리케이션을 확장하고 있으며 C ++로 작성된 라이브러리를 사용해야합니다. C ++의 이름 변경이 여기서 문제를 일으키고 .. 2020. 9. 26.
C ++ 함수 템플릿 부분 전문화? 아래 코드는 클래스의 부분 전문화라는 것을 알고 있습니다. template class MyClass { … }; // partial specialization: both template parameters have same type template class MyClass { … }; 또한 C ++에서는 함수 템플릿 부분 전문화를 허용하지 않는다는 것을 알고 있습니다 (전체 만 허용됨). 하지만 내 코드는 하나 / 동일한 유형 인수에 대해 함수 템플릿을 부분적으로 전문화했음을 의미합니까? Microsoft Visual Studio 2010 Express에서 작동하기 때문입니다! 아니라면 부분 전문화 개념을 설명해 주시겠습니까? #include using std::cin; using std::cout; u.. 2020. 9. 26.
사용하지 않는 반환 값을 무효화하는 이유는 무엇입니까? int fn(); void whatever() { (void) fn(); } 사용하지 않은 반품 가치를 무효화 할 이유가 있습니까, 아니면 완전한 시간 낭비라고 생각하는 것이 맞습니까? 후속 조치 : 꽤 포괄적 인 것 같습니다. 자체 문서화 코드가 주석보다 낫기 때문에 사용하지 않는 반환 값을 주석 처리하는 것보다 낫다고 생각합니다. 개인적으로 불필요한 소음 이니까이 경고를 끄겠습니다. 그것 때문에 벌레가 도망 치면 내 말을 먹어 볼게 ... David의 대답은이 함수가 반환하는 것을 알고 있지만 명시 적으로 무시하고 있음을 다른 "개발자"에게 명시 적으로 보여 주려는 동기를 거의 다룹니다. 이는 필요한 오류 코드가 항상 처리되도록하는 방법입니다. C ++의 경우 전체 정적 캐스트 표기법을 사용하는 것이.. 2020. 9. 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 +=.. 2020. 9. 24.
728x90