«c++» 태그된 질문

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


2
iterator-> second는 무엇을 의미합니까?
C ++에서 std::map<>::iterator? 의 유형은 무엇 입니까? 우리 it는 타입 의 객체 가 std::map<A,B>::iterator오버로드 operator ->되어 a를 반환 하고 a 및 멤버 가 std::pair<A,B>*있음을 알고 있습니다.std::pair<>firstsecond 그러나이 두 멤버는 무엇에 해당하며 왜 맵에 저장된 값에 액세스해야 it->second합니까?
157 c++  stl  iterator 

7
std :: string이있는 printf?
내 이해는 네임 스페이스 string의 멤버 std이므로 왜 다음이 발생합니까? #include <iostream> int main() { using namespace std; string myString = "Press ENTER to quit program!"; cout << "Come up and C++ me some time." << endl; printf("Follow this command: %s", myString); cin.get(); return 0; } 프로그램이 실행될 때마다 myString위 …
157 c++  string  namespaces  printf  std 

2
C ++ 상속-접근하기 어려운베이스?
기본 클래스를 함수 매개 변수로 사용할 수없는 것 같습니다. 상속을 엉망으로 만들었습니까? 나는 내 주에 다음이 있습니다. int some_ftn(Foo *f) { /* some code */ }; Bar b; some_ftn(&b); 그리고 클래스 Bar는 다음과 같은 방식으로 Foo에서 상속됩니다. class Bar : Foo { public: Bar(); //snip private: //snip }; 이것이 작동하지 …
157 c++  inheritance 

6
람다에서 캡처 이동
C ++ 11 람다에서 이동 (rvalue 참조라고도 함)으로 어떻게 캡처합니까? 다음과 같이 쓰려고합니다. std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer = 4; };


7
멤버 함수를 조건부로 컴파일하기위한 std :: enable_if
사용법을 이해하기 위해 간단한 예제를 얻으려고합니다 std::enable_if. 이 답변을 읽은 후 간단한 예를 제시하기가 너무 어렵지 않아야한다고 생각했습니다. std::enable_if두 멤버 함수 중에서 선택하고 그중 하나만 사용할 수 있도록 사용하고 싶습니다 . 불행히도, 다음은 gcc 4.7로 컴파일되지 않으며 몇 시간 동안 노력한 후에 너희들에게 내 실수가 무엇인지 묻고있다. #include <utility> #include …
156 c++  templates  g++  c++11 


14
스칼라의 연산자 오버로드가 "좋은"것이지만 C ++의 "나쁜"것은 무엇입니까?
C ++에서 연산자 오버로딩은 많은 사람들에 의해 A Bad Thing (tm)으로 간주되며, 새로운 언어에서는 반복되지 않는 실수입니다. 확실히, 그것은 자바를 설계 할 때 특별히 떨어 뜨린 기능 중 하나였습니다. 스칼라에 대해 읽기 시작 했으므로 연산자 오버로드와 매우 흡사합니다 (기술적으로는 연산자가없고 함수 만 있기 때문에 연산자 오버로드가 없지만). 그러나 C ++에서 …

3
약어의 의미 std :: string
에서 최적화 및 코드 스타일에 대한 C ++ 질문 몇 가지 답변의 사본을 최적화의 맥락에서 "SSO"라고 std::string. 그 맥락에서 SSO는 무엇을 의미합니까? "단일 사인온"이 아닙니다. 아마도 "공유 문자열 최적화"입니까?
155 c++  string  optimization 

7
한 벡터를 다른 벡터로 복사하는 빠른 방법
나는 두 가지 방법을 선호합니다 : void copyVecFast(const vec<int>& original) { vector<int> newVec; newVec.reserve(original.size()); copy(original.begin(),original.end(),back_inserter(newVec)); } void copyVecFast(vec<int>& original) { vector<int> newVec; newVec.swap(original); } 어떻게합니까?
155 c++  algorithm  stl 

10
C ++의 dynamic_cast 및 static_cast
dynamic_castC ++ 의 키워드 와 혼동됩니다 . struct A { virtual void f() { } }; struct B : public A { }; struct C { }; void f () { A a; B b; A* ap = &b; B* b1 = dynamic_cast<B*> (&a); // NULL, because 'a' is not …
155 c++  dynamic-cast 

3
언제 std :: forward를 사용하여 인수를 전달합니까?
C ++ 0x는 다음을 사용하는 예를 보여줍니다 std::forward. template<class T> void foo(T&& arg) { bar(std::forward<T>(arg)); } 언제 사용하는 것이 유리 std::forward합니까? 또한 &&매개 변수 선언 에 사용해야 합니다. 모든 경우에 유효합니까? 함수가 선언 된 경우 임시 함수를 함수에 전달해야한다고 생각 &&했으므로 매개 변수로 foo를 호출 할 수 있습니까? 마지막으로 다음과 …


12
C ++에서 순수한 가상 소멸자가 필요한 이유는 무엇입니까?
가상 소멸자가 필요하다는 것을 이해합니다. 그러나 왜 순수한 가상 소멸자가 필요한가? C ++ 기사 중 하나에서 저자는 클래스 추상을 만들 때 순수한 가상 소멸자를 사용한다고 언급했습니다. 그러나 멤버 함수 중 하나를 순수 가상으로 만들어 클래스 추상화를 만들 수 있습니다. 그래서 내 질문은 우리는 언제 소멸자를 순수 가상으로 만들까요? 누구든지 좋은 …

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