«c++» 태그된 질문

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


3
내 수업에 스왑 기능을 제공하는 방법은 무엇입니까?
swapSTL 알고리즘 을 활성화하는 적절한 방법은 무엇입니까 ? 1) 회원 swap. 합니까는 std::swap멤버를 사용하는 SFINAE의 트릭을 사용합니다 swap. 2) swap동일한 네임 스페이스에서 독립형 . 3) std::swap. 4) 위의 모든 것. 감사합니다. 편집 : 내 질문을 명확하게 말하지 않은 것 같습니다. 기본적으로 템플릿 클래스가 있으며 해당 클래스에 대해 작성한 (효율적인) 스왑 …
87 c++  algorithm  stl  swap 

3
C ++ 11은 비 정적 및 비상 수 멤버의 클래스 내 초기화를 허용합니다. 무엇이 바뀌 었습니까?
C ++ 11 이전에는 정수 또는 열거 형의 정적 const 멤버에 대해서만 클래스 내 초기화를 수행 할 수있었습니다. Stroustrup은 C ++ FAQ에서 이에 대해 설명 하며 다음 예제를 제공합니다. class Y { const int c3 = 7; // error: not static static int c4 = 7; // error: not const …


6
C ++ 함수 템플릿 부분 전문화?
아래 코드가 클래스의 부분적인 전문화라는 것을 알고 있습니다. template <typename T1, typename T2> class MyClass { … }; // partial specialization: both template parameters have same type template <typename T> class MyClass<T,T> { … }; 또한 C ++에서는 함수 템플릿 부분 전문화를 허용하지 않는다는 것을 알고 있습니다 (전체 만 허용됨). …

8
C ++ 11 emplace_back on vector <struct>?
다음 프로그램을 고려하십시오. #include &lt;string&gt; #include &lt;vector&gt; using namespace std; struct T { int a; double b; string c; }; vector&lt;T&gt; V; int main() { V.emplace_back(42, 3.14, "foo"); } 작동하지 않습니다. $ g++ -std=gnu++11 ./test.cpp In file included from /usr/include/c++/4.7/x86_64-linux-gnu/bits/c++allocator.h:34:0, from /usr/include/c++/4.7/bits/allocator.h:48, from /usr/include/c++/4.7/string:43, from ./test.cpp:1: /usr/include/c++/4.7/ext/new_allocator.h: In instantiation of …
87 c++  c++11 

6
C ++에서 참조가 "const"가 아닌 이유는 무엇입니까?
"const 변수"는 일단 할당되면 다음과 같이 변수를 변경할 수 없음을 나타냅니다. int const i = 1; i = 2; 위의 프로그램은 컴파일에 실패합니다. gcc가 오류 메시지를 표시합니다. assignment of read-only variable 'i' 문제 없습니다. 이해할 수 있지만 다음 예는 이해를 초월합니다. #include&lt;iostream&gt; using namespace std; int main() { boolalpha(cout); int …

4
지도에 대한 나만의 비교기를 어떻게 만들 수 있습니까?
typedef map&lt;string, string&gt; myMap; 에 새 쌍을 삽입 할 때 myMap키 string를 사용하여 자체 문자열 비교기로 비교합니다. 해당 비교기를 재정의 할 수 있습니까? 예를 들어 string알파벳이 아닌 길이로 키를 비교하고 싶습니다 . 아니면지도를 정렬하는 다른 방법이 있습니까?
87 c++  stl  stdmap 


10
deque에 벡터 사용을 선호하는 이유
이후 둘 다 인접한 메모리 컨테이너입니다. 기능면에서 deque는 벡터가 가진 거의 모든 것을 가지고 있습니다. 앞쪽에 삽입하는 것이 더 효율적이기 때문입니다. 왜 whould 사람을 선호 std::vector하는 std::deque?
87 c++  stl  vector  deque 

2
C ++ wchar_t 및 wstrings에서 "잘못된"것은 무엇입니까? 와이드 문자의 대안은 무엇입니까?
나는의 사용을 원망는 C ++ 커뮤니티 (는 Freenode에 특히 ## C ++)에서 많은 사람들을 보았다 wstrings하고 wchar_t, 그리고 윈도우 API에서의 사용. wchar_t및 wstring에서 정확히 "잘못된"것은 무엇이며 국제화를 지원하려는 경우 와이드 문자에 대한 몇 가지 대안은 무엇입니까?




1
내가 [[fallthrough]]를 사용해도 GCC가 폴 스루에 대해 경고하는 이유는 무엇입니까?
다음 코드에서는 [[fallthrough]]C ++ 1z 의 표준 속성을 사용하여 폴스 루가 필요함을 문서화합니다. #include &lt;iostream&gt; int main() { switch (0) { case 0: std::cout &lt;&lt; "a\n"; [[fallthrough]] case 1: std::cout &lt;&lt; "b\n"; break; } } GCC 7.1에서는 코드가 오류없이 컴파일됩니다. 그러나 컴파일러는 여전히 오류에 대해 경고합니다. warning: this statement may …

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