C ++는 범용 프로그래밍 언어입니다. 원래 C에 대한 확장으로 설계되었으며 유사한 구문을 갖지만 이제는 완전히 다른 언어입니다. C ++ 컴파일러로 컴파일 된 코드에 대한 질문에이 태그를 사용하십시오. 특정 표준 개정 [C ++ 11], [C ++ 14], [C ++ 17] 또는 [C ++ 20] 등과 관련된 질문에 버전 별 태그를 사용하십시오.
모두 동일한 컴파일러 / 버전 에서 생성 된 세 개의 컴파일 된 객체가 있다고 가정합니다 . A는 C ++ 11 표준으로 컴파일되었습니다. B는 C ++ 14 표준으로 컴파일되었습니다. C는 C ++ 17 표준으로 컴파일되었습니다. 단순화를 위해 모든 헤더가 세 가지 표준 버전간에 의미가 변경되지 않은 구조 만 사용하여 C ++ …
OS X에서 컴파일하려는 간단한 hello world 예제가 있습니다 hw.cpp. #include <iostream> #include <string> using namespace std; int main() { cout << "Hello world!" << endl; return 0; } 을 사용하여 컴파일하고 싶지만 gcc성공하지 못했습니다. Xcode를 사용하는 것과 같은 다른 옵션도 듣고 싶습니다.
std::unique_ptr함수에를 어떻게 전달할 수 있습니까? 다음과 같은 수업이 있다고 가정 해 보겠습니다. class A { public: A(int val) { _val = val; } int GetVal() { return _val; } private: int _val; }; 다음은 컴파일되지 않습니다. void MyFunc(unique_ptr<A> arg) { cout << arg->GetVal() << endl; } int main(int argc, char* …
저는 C ++를 처음 사용합니다. 나는 종종 아래와 같은 조건문을 본다. if statement_0; else if statement_1; 질문: 구문 적else if 으로는 단일 키워드로 취급해야 합니까? 아니면 실제로 if외부else 아래와 같이 입니까? if statement_0; else if statement_1;
값의 사인과 코사인을 함께 계산하고 싶습니다 (예 : 회전 행렬 생성). 물론 a = cos(x); b = sin(x);, 처럼 하나씩 하나씩 따로 계산할 수 는 있지만 두 값이 모두 필요할 때 더 빠른 방법이 있는지 궁금합니다. 편집 : 지금까지 답변을 요약하려면 : Vlad 는FSINCOS두 가지를 모두 계산하는 asm 명령이 있다고 …
어떤 차이가 있습니까 throw()및 noexcept각각 런타임 및 컴파일 시간에 확인하는 것 외에는는? 이 Wikipedia C ++ 11 기사 에서는 C ++ 03 throw 지정자가 더 이상 사용되지 않음을 제안합니다. 왜 그렇다면 noexcept컴파일 타임에 모든 것을 다룰 수 있습니까? [참고 : 나는 확인 이 질문 하고 이 문서를 하지만, 중단에 대한 …
저는 C ++에서 성능에 중요한 작업을 수행하고 있으며 현재 "더 빠르기"때문에 본질적으로 부동 소수점 문제에 정수 계산을 사용하고 있습니다. 이로 인해 성가신 문제가 많이 발생하고 성가신 코드가 많이 추가됩니다. 이제 저는 부동 소수점 계산이 약 386 일 동안 얼마나 느 렸는지 읽은 기억이납니다. 여기서 (IIRC) 선택적 공동 프로세서가 있다고 믿습니다. …
가상 함수가있는 기본 클래스가 있고 파생 클래스에서 해당 함수를 재정의하고 싶습니다. 파생 클래스에서 선언 한 함수가 실제로 기본 클래스의 함수를 재정의하는지 컴파일러에서 확인하는 방법이 있습니까? 이전 함수를 재정의하는 대신 실수로 새 함수를 선언하지 않았는지 확인하는 매크로 또는 무언가를 추가하고 싶습니다. 이 예를 보자 : class parent { public: virtual void …
내 프로그램 중 하나에서 const char*. 다음과 같은 구조가 있다고 가정 해 보겠습니다. struct Foo { const char* server; const char* name; }; 내 상위 수준의 응용 프로그램은에만 처리 std::string되므로 포인터를 std::string::c_str()다시 가져 오기 const char*위해을 ( 를) 사용 하려고 생각했습니다 . 그러나 수명은 c_str()무엇입니까? 정의되지 않은 동작에 직면하지 않고 …
우리는 C ++로 고성능 핵심 소프트웨어를 개발하고 있습니다. 거기에 동시 해시 맵이 필요하고 구현되었습니다. 그래서 우리는 동시 해시 맵이 .NET과 비교하여 얼마나 느린 지 알아 내기 위해 벤치 마크를 작성했습니다 std::unordered_map. 그러나 std::unordered_map엄청나게 느린 것 같습니다 ... 그래서 이것은 우리의 마이크로 벤치 마크입니다 google::dense_hash_map. null 값이 필요함) : boost::random::mt19937 rng; …
std::result_ofC ++ 0x 의 필요성을 이해하는 데 약간의 어려움이 있습니다. 내가 올바르게 이해 result_of했다면는 특정 유형의 매개 변수로 함수 객체를 호출하는 결과 유형을 얻는 데 사용됩니다. 예를 들면 : template <typename F, typename Arg> typename std::result_of<F(Arg)>::type invoke(F f, Arg a) { return f(a); } 다음 코드의 차이점은 실제로 보이지 않습니다. …
C ++ 11의 새로운 문자열 리터럴을 사용하면 컴파일 타임에 문자열의 해시를 계산할 수 있다는 것을 몇 가지 다른 곳에서 읽었습니다. 그러나 아무도 나올 준비가되어 있지 않고 그것이 가능하거나 어떻게 될 것이라고 말할 준비가되어 있지 않은 것 같습니다. 이게 가능해? 운영자는 어떻게 생겼습니까? 특히 이와 같은 사용 사례에 관심이 있습니다. void …