«c++-faq» 태그된 질문

공동으로 커뮤니티에서 편집 한 C ++ FAQ를 제공합니다.


7
최적화가 활성화 된 다른 부동 소수점 결과-컴파일러 버그?
아래 코드는 최적화 여부에 관계없이 Visual Studio 2008에서 작동합니다. 그러나 최적화 (O0)없이 g ++에서만 작동합니다. #include <cstdlib> #include <iostream> #include <cmath> double round(double v, double digit) { double pow = std::pow(10.0, digit); double t = v * pow; //std::cout << "t:" << t << std::endl; double r = std::floor(t + …
109 c++  optimization  g++  c++-faq 

4
투명 비교기 란 무엇입니까?
C ++ 14에서 연관 컨테이너는 C ++ 11에서 변경된 것 같습니다 – [associative.reqmts] / 13은 다음과 같이 말합니다. 멤버 함수 템플릿은 find, count, lower_bound, upper_bound,와 equal_range유형이하지 않는 오버로드 확인에 참여하지 않는다 Compare::is_transparent존재한다. 비교기를 "투명하게"만드는 목적은 무엇입니까? C ++ 14는 다음과 같은 라이브러리 템플릿도 제공합니다. template <class T = void> struct …
106 c++  c++14  c++-faq 

3
형식화 된 추출 후 std :: getline ()이 입력을 건너 뛰는 이유는 무엇입니까?
사용자에게 이름과 상태를 묻는 다음 코드가 있습니다. #include <iostream> #include <string> int main() { std::string name; std::string state; if (std::cin >> name && std::getline(std::cin, state)) { std::cout << "Your name is " << name << " and you live in " << state; } } 내가 찾은 것은 이름이 성공적으로 …
105 c++  input  iostream  istream  c++-faq 

3
간단한 "Hello World"스타일 프로그램이 Turbo C ++로 컴파일되지 않는 이유는 무엇입니까?
프로그래밍 수업을 위해 C ++를 배우기 시작했습니다. 이 "Hello World"프로그램을 다운로드했습니다. #include <iostream> using namespace std; int main() { cout << "Hello, World!"; return 0; } 그러나 Turbo C ++는 다음과 같이 불평합니다. Error D:\HELLO.CPP 1: Unable to open include file 'IOSTREAM' Error D:\HELLO.CPP 2: Declaration syntax error Error D:\HELLO.CPP …
101 c++  turbo-c++  c++-faq 

4
cout << a ++ << a;에 대한 정답은 무엇입니까?
최근 인터뷰에서 다음과 같은 객관적인 질문이있었습니다. int a = 0; cout &lt;&lt; a++ &lt;&lt; a; 답변: ㅏ. 10 b. 01 c. 정의되지 않은 동작 나는 선택 b에 대답했다. 즉 출력은 "01"이 될 것이다. 그러나 놀랍게도 면접관은 정답이 옵션 c : 정의되지 않음이라고 들었습니다. 이제 C ++의 시퀀스 포인트 개념을 알고 …
98 c++  c++-faq 

16
C ++의 순환 이동 (회전) 작업에 대한 모범 사례
왼쪽 및 오른쪽 시프트 연산자 (&lt;&lt; 및 &gt;&gt;)는 이미 C ++에서 사용할 수 있습니다. 그러나 원형 이동이나 회전 작업을 수행하는 방법을 찾을 수 없었습니다. "왼쪽으로 회전"및 "오른쪽으로 회전"과 같은 작업을 어떻게 수행 할 수 있습니까? 여기에서 오른쪽으로 두 번 회전 Initial --&gt; 1000 0011 0100 0010 결과는 다음과 같습니다. Final …

17
함수 포인터의 요점은 무엇입니까?
함수 포인터의 유용성을 보는 데 문제가 있습니다. 나는 그것이 어떤 경우에 유용 할 것이라고 생각하지만 (결국 존재한다) 함수 포인터를 사용하는 것이 더 낫거나 피할 수없는 경우를 생각할 수 없다. 함수 포인터 (C 또는 C ++)를 잘 사용하는 몇 가지 예를 들어 주시겠습니까?
94 c++  c  function  pointers  c++-faq 

2
파생 클래스에서 이름은 같지만 서명이 다른 함수
동일한 이름의 함수가 있지만 기본 및 파생 클래스에 다른 서명이 있습니다. 파생에서 상속 된 다른 클래스에서 기본 클래스의 함수를 사용하려고하면 오류가 발생합니다. 다음 코드를 참조하십시오. class A { public: void foo(string s){}; }; class B : public A { public: int foo(int i){}; }; class C : public B { …

2
연산자 우선 순위 외에 추가 괄호는 언제 영향을 미칩니 까?
C ++의 괄호는 여러 위치에서 사용됩니다. 예를 들어 연산자 우선 순위를 재정의하는 함수 호출 및 그룹화 표현식에서. 그렇다 불법 여분의 괄호에서 (예 : 주변에 함수 호출 인수 목록과 같은), C의 일반적인 - 그러나 absolute-하지 규칙 ++ 것입니다 추가 괄호 해치지 않을 : 5.1 기본 표현식 [expr.prim] 5.1.1 일반 [expr.prim.general] 6 …

3
"as-if"규칙은 정확히 무엇입니까?
제목에서 알 수 있듯이 "as-if"규칙은 정확히 무엇입니까? 일반적인 대답은 다음과 같습니다. 프로그램의 관찰 가능한 동작을 변경하지 않는 모든 코드 변환을 허용하는 규칙 때때로 우리는이 규칙에 기인하는 특정 구현에서 동작을 계속 얻습니다. 여러 번 잘못되었습니다. 이 규칙은 정확히 무엇입니까? 표준은이 규칙을 섹션이나 단락으로 명확하게 언급하지 않습니다. 그렇다면 정확히이 규칙의 범위에 속하는 …
89 c++  c  optimization  c++-faq  as-if 

5
공유 포인터를 인수로 전달
공유 포인터로 래핑 된 객체를 선언하면 : std::shared_ptr&lt;myClass&gt; myClassObject(new myClass()); 그런 다음 메서드에 인수로 전달하고 싶었습니다. DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr&lt;myClass&gt; arg1) { arg1-&gt;someField = 4; } 위의 내용은 단순히 shared_pt의 참조 횟수를 증가시키고 모든 것이 멋지나요? 아니면 매달린 포인터를 남기나요? 그래도 이렇게해야합니까? : DoSomething(myClassObject.Get()); void DoSomething(std::shared_ptr&lt;myClass&gt;* arg1) { …

1
gcc / g ++ :“해당 파일 또는 디렉토리 없음”
g++ 다음과 같은 형식의 오류를 제공합니다. foo.cc:&lt;line&gt;:&lt;column&gt;: fatal error: &lt;bar&gt;: No such file or directory compilation terminated. 를 사용하여 C 프로그램을 컴파일 할 때도 마찬가지입니다 gcc. 왜 그런 겁니까? 참고 : 이 질문은 이전에 여러 번 요청되었지만 매번 질문자의 상황에 따라 다릅니다. 이 질문의 목적은 다른 사람들이 , 단번에의 중복으로 …
87 c++  c  gcc  g++  c++-faq 


1
템플릿 추론 가이드 란 무엇이며 언제 사용해야합니까?
C ++ 17 표준은 "템플릿 추론 가이드"를 도입합니다. 이 표준 버전에 도입 된 생성자에 대한 새로운 템플릿 인수 추론과 관련이 있다고 생각하지만, 그것이 무엇인지, 무엇을위한 것인지에 대한 간단한 FAQ 스타일의 설명은 아직 보지 못했습니다. C ++ 17의 템플릿 추론 가이드 란 무엇입니까? 왜 (그리고 언제) 그것들이 필요합니까? 어떻게 신고합니까?

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