개발/C++ 22

[C++] tan과 tan2의 차이점은 무엇입니까?

차이점은 무엇입니까atan 그리고atan2 C++에서? 학교 수학에서 우리는 탄젠트에 정의가 있다는 것을 압니다. tan(α) = sin(α) / cos(α) 함수에 제공하는 각도에 따라 4개의 사분면을 구분합니다. 의 표시sin,cos 그리고tan 다음 관계가 있습니다(정확한 배수를 무시하는 경우π/2): Quadrant Angle sin cos tan ------------------------------------------------- I 0 < α < π/2 + + + II π/2 < α < π + - - III π < α < 3π/2 - - + IV 3π/2 < α < 2π - + - 의 값을 감안할 때tan(α) 양수이면 각도가 1사분면인지 3사분면인지 구분할 수 없으며 음수이면 2사분면 또..

개발/C++ 2022.10.14

구문을 사용하여 C++11에서 함수 포인터를 어떻게 typedef합니까?

나는 이것을 쓰고 싶다 typedef void (*FunctionPtr)(); 사용using. 어떻게 해야 할까요? 포인터에서 식별자를 제거하는 것을 제외하고는 유사한 구문을 가지고 있습니다. using FunctionPtr = void (*)(); 여기Example "추함을 제거"하려면 Xeo가 제안한 것을 시도하십시오. #include using FunctionPtr = std::add_pointer::type; 그리고 여기 또 다른demo. 포인터 형식 정의를 피하면 "추함"도 제거할 수 있습니다. void f() {} using Function_t = void(); Function_t* ptr = f; ptr(); http://ideone.com/e1XuYc 당신은 원하는type-id, 삭제하는 ..

개발/C++ 2022.10.14

[C++] #ifdef에 'or' 조건을 추가하는 방법

#ifdef 에 'or' 조건을 추가하려면 어떻게 해야 하나요? 나는 시도했다: #ifdef CONDITION1 || CONDITION2 #endif 이것은 작동하지 않습니다. #if defined(CONDITION1) || defined(CONDITION2) 작동해야합니다. :) #ifdef 타이핑이 조금 덜하지만 더 복잡한 조건에서는 잘 작동하지 않습니다. 이것을 사용할 수 있습니다- #if defined CONDITION1 || defined CONDITION2 //your code here #endif 이것도 마찬가지에요- #if defined(CONDITION1) || defined(CONDITION2) //your code here #endif 더 나아가- 그리고:#if defined COND..

개발/C++ 2022.10.14

STL 또는 Qt 컨테이너?

STL에 상응하는 Qt 컨테이너 (QMap, QVector 등)를 사용할 때의 장단점은 무엇입니까? Qt를 선호하는 한 가지 이유를 알 수 있습니다. Qt 컨테이너는 Qt의 다른 부분으로 전달 될 수 있습니다. 예를 들어, QVariant와 QSettings를 채우는 데 사용할 수 있습니다 (단, 키가 문자열 인 QList 및 QMap / QHash 만 허용됨). 다른 것이 있습니까? 편집 : 응용 프로그램이 이미 Qt에 의존한다고 가정합니다. std : :( w) string 및 STL 컨테이너를 독점적으로 사용하고 Qt 등가물로 /에서 변환하는 것으로 시작했지만 이미 QString으로 전환했으며 Qt의 컨테이너를 점점 더 많이 사용하고 있음을 알게되었습니다. 문자열과 관련하여 QString은 std ..

개발/C++ 2020.09.30

역방향 반복기로 지우기를 호출하는 방법

나는 다음과 같은 것을 시도하고 있습니다. for ( std::list::reverse_iterator i = m_CursorStack.rbegin(); i != m_CursorStack.rend(); ++i ) { if ( *i == pCursor ) { m_CursorStack.erase( i ); break; } } 그러나 erase는 역방향 반복자가 아닌 반복기를 사용합니다. 역방향 반복기를 일반 반복기로 변환하는 방법 또는 목록에서이 요소를 제거하는 다른 방법이 있습니까? 더 많은 연구와 테스트를 거쳐 해결책을 찾았습니다. 표준 [24.4.1 / 1]에 따르면 i.base ()와 i의 관계는 다음과 같습니다. &*(reverse_iterator(i)) == &*(i ..

개발/C++ 2020.09.30

if… else if 문을 확률로 정렬하면 어떤 효과가 있습니까?

특히, 일련의 if ... else if 문이 있고 각 문이 참으로 평가 될 상대 확률을 미리 알고 있다면 확률 순서대로 정렬하는 데 실행 시간이 얼마나 차이가나요? 예를 들어 다음을 선호해야합니까? if (highly_likely) //do something else if (somewhat_likely) //do something else if (unlikely) //do something 이에?: if (unlikely) //do something else if (somewhat_likely) //do something else if (highly_likely) //do something 정렬 된 버전이 더 빠를 것이 분명해 보이지만 가독성이나 부작용의 존재를 위해 최적화되지 않은 순서로 정렬 할 수..

개발/C++ 2020.09.30

보호 또는 개인 생성자 만있는 클래스에서 :: std :: make_shared를 어떻게 호출합니까?

C:\Anaconda3\envs\YYcompany\lib\site-packages\pymysql\cursors.py:329: Warning: (1265, "Data truncated for column 'original_url' at row 1") self._do_get_result() 작동하지 않는 코드가 있지만 의도는 분명하다고 생각합니다. testmakeshared.cpp #include class A { public: static ::std::shared_ptr create() { return ::std::make_shared(); } protected: A() {} A(const A &) = delete; const A &operator =(const A &) = delete; }; ::std:..

개발/C++ 2020.09.30
728x90