«c++» 태그된 질문

C ++는 범용 프로그래밍 언어입니다. 원래 C에 대한 확장으로 설계되었으며 유사한 구문을 갖지만 이제는 완전히 다른 언어입니다. C ++ 컴파일러로 컴파일 된 코드에 대한 질문에이 태그를 사용하십시오. 특정 표준 개정 [C ++ 11], [C ++ 14], [C ++ 17] 또는 [C ++ 20] 등과 관련된 질문에 버전 별 태그를 사용하십시오.



2
컴파일러 오류 : memset이이 범위에서 선언되지 않았습니다.
Ubuntu 9.10 (gcc 4.4.1)에서 C 프로그램을 컴파일하려고합니다. 이 오류가 발생합니다. Rect.cpp:344: error: ‘memset’ was not declared in this scope 하지만 문제는 이미 내 cpp 파일에 포함되어 있다는 것입니다. #include <stdio.h> #include <stdlib.h> 그리고 동일한 프로그램이 Ubuntu 8.04 (gcc 4.2.4)에서 잘 컴파일됩니다. 내가 뭘 놓치고 있는지 알려주세요.
101 c++  gcc 

6
case 문에서 {} 사용. 왜?
문 에서 {및 사용의 요점은 무엇입니까 ? 일반적으로 명령문 에 몇 줄이 있더라도 모든 줄이 실행됩니다. 이것은 단지 구형 / 최신 컴파일러에 관한 규칙입니까, 아니면 그 뒤에 뭔가가 있습니까?}casecase int a = 0; switch (a) { case 0:{ std::cout << "line1\n"; std::cout << "line2\n"; break; } } 과 int a …

13
C ++에서 자율적`self` 멤버 유형을 구현할 수 있습니까?
C ++ 에는 PHP의 키워드 와 동등한 기능 이 없습니다 .self 둘러싸는 클래스의 유형으로 평가되는 . 클래스별로 위조하는 것은 쉽습니다. struct Foo { typedef Foo self; }; 그러나 나는 Foo다시 써야 했다. 언젠가는 이것이 잘못되어 조용한 버그를 일으킬 수 있습니다. decltype이 작업을 "자율적으로"만들기 위해 및 친구들의 조합을 사용할 수 있습니까 …
101 c++  c++11 

7
가중 난수
가중치가있는 난수를 구현하려고합니다. 나는 현재 벽에 머리를 부딪 히고 있으며 이것을 알아낼 수 없습니다. 내 프로젝트 (Hold'em hand-ranges, 주관적인 올인 에퀴티 분석)에서는 Boost의 랜덤 함수를 사용하고 있습니다. 따라서 1과 3 사이의 임의의 숫자를 선택한다고 가정 해 봅시다 (1, 2 또는 3). Boost의 메르 센 트위스터 생성기는 이것에 대한 매력처럼 작동합니다. …
101 c++  boost  random 

3
정렬되지 않은 컨테이너의 사용자 정의 유형에 대해 std :: hash <Key> :: operator ()를 전문화하는 방법은 무엇입니까?
에 사용자 정의 키 유형을 지원하기 위해 std::unordered_set&lt;Key&gt;그리고 std::unordered_map&lt;Key, Value&gt; 하나는 제공해야 operator==(Key, Key)하고 해시 펑터 : struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X&amp; x) const { return std::hash&lt;int&gt;()(x.id); } }; …

5
벡터에서 요소 지우기
지우기 방법을 사용하여 벡터에서 요소를 지우고 싶습니다. 그러나 여기서 문제는 요소가 벡터에서 한 번만 발생한다는 보장이 없다는 것입니다. 여러 번 나타날 수 있으며 모두 지워야합니다. 내 코드는 다음과 같습니다. void erase(std::vector&lt;int&gt;&amp; myNumbers_in, int number_in) { std::vector&lt;int&gt;::iterator iter = myNumbers_in.begin(); std::vector&lt;int&gt;::iterator endIter = myNumbers_in.end(); for(; iter != endIter; ++iter) { if(*iter …
101 c++  vector  stl  erase 

3
g ++로 정적 라이브러리를 만드는 방법은 무엇입니까?
누군가 .cpp 및 .hpp 파일에서 정적 라이브러리를 만드는 방법을 알려주시겠습니까? .o 및 .a를 만들어야합니까? 또한 정적 라이브러리를 컴파일하고 다른 .cpp 코드에서 사용할 수있는 방법을 알고 싶습니다. 내가 가진 header.cpp, header.hpp .내가 만들고 싶습니다 header.a. 에서 header.a를 테스트합니다 test.cpp. 컴파일을 위해 g ++를 사용하고 있습니다.

5
C ++의 일반 포인터와 비교하여 스마트 포인터의 오버 헤드는 얼마입니까?
C ++ 11의 일반 포인터에 비해 스마트 포인터의 오버 헤드는 얼마입니까? 즉, 스마트 포인터를 사용하면 코드가 느려질까요? 그렇다면 얼마나 느려질까요? 특히 C ++ 11 std::shared_ptr및 std::unique_ptr. 분명히 스택 아래로 밀려 난 물건은 더 커질 것입니다 (적어도 나는 그렇게 생각합니다). 내 성능에 영향을 미치나요? 예를 들어 일반 포인터 대신 함수에서 스마트 …

2
std :: shared_ptr of this
저는 현재 스마트 포인터 사용법을 배우려고합니다. 그러나 몇 가지 실험을 수행하는 동안 포화 솔루션을 찾을 수없는 다음 상황을 발견했습니다. 클래스 A의 오브젝트가 클래스 B (자식)의 오브젝트의 상위가되지만 둘 다 서로를 알아야한다고 가정하십시오. class A; class B; class A { public: void addChild(std::shared_ptr&lt;B&gt; child) { children-&gt;push_back(child); // How to do pass …

4
헤더 파일이 포함 된 위치를 확인하는 방법은 무엇입니까?
g ++가 포함 파일을 찾을 수 있었던 곳을 어떻게 알 수 있습니까? 기본적으로 내가 #include &lt;foo.h&gt; g ++는 경로를 추가하거나 변경하기 위해 포함 옵션을 사용하여 검색 경로를 스캔합니다. 그러나 결국에는 g ++가 컴파일하기로 선택한 foo.h의 절대 경로를 알 수있는 방법이 있습니까? 무수한 검색 경로에 하나 이상의 foo.h가있는 경우 특히 관련이 …
101 c++  c  gcc  include  g++ 



12
끝에서 처음으로 C ++ 벡터 반복
끝에서 시작까지 벡터를 반복 할 수 있습니까? for (vector&lt;my_class&gt;::iterator i = my_vector.end(); i != my_vector.begin(); /* ?! */ ) { } 또는 다음과 같은 경우에만 가능합니다. for (int i = my_vector.size() - 1; i &gt;= 0; --i) { }
101 c++  vector  iterator 

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