«std» 태그된 질문

C ++ 표준 라이브러리 및 해당 네임 스페이스. [c ++]와 함께 사용합니다.


2
std :: is_function은 어떻게 구현됩니까?
다음은 어떻게 구현 std::is_function됩니까? template<class T> struct is_function : std::integral_constant< bool, !std::is_const<const T>::value && !std::is_reference<T>::value > {}; ( CPP 참조에서 ) 나에게 보인다, int이 정의에 따른 함수일 것이다. 내가 무엇을 놓치고 있습니까?
82 c++  templates  std  sfinae 

2
std :: hash가 결정적이라고 보장되지 않는 이유는 무엇입니까?
이하에서는 N4140 (C ++ 14 표준)을 사용합니다. 에 따르면 17.6.3.4 해시 요구 사항을 § , 반환 된 값 k 은 프로그램 기간 동안의 인수에만 의존해야 합니다 . [참고 : 따라서 h(k)동일한 값을 가진 표현식의 모든 평가 는 주어진 프로그램 실행에 대해k 동일한 결과 를 산출합니다 . — 끝 참고] 및 …

2
std :: pair 내의 이니셜 라이저 목록
이 코드는 : #include <iostream> #include <string> std::pair<std::initializer_list<std::string>, int> groups{ { "A", "B" }, 0 }; int main() { for (const auto& i : groups.first) { std::cout << i << '\n'; } return 0; } 컴파일하지만 segfault를 반환합니다. 왜? gcc 8.3.0 및 온라인 컴파일러에서 테스트되었습니다.
26 c++  std  std-pair 

1
Clang / Win의 vector <bool> 요소에서 std :: swap이 작동하지 않는 이유는 무엇입니까?
다음과 같은 코드가 있습니다. #include &lt;vector&gt; #include &lt;utility&gt; int main() { std::vector&lt;bool&gt; vb{true, false}; std::swap(vb[0], vb[1]); } vector&lt;bool&gt;제쳐두고 의 정신에 대한 논쟁 , 이것은 잘 작동했습니다 : Mac 용 Clang Windows 용 Visual Studio Linux 용 GCC 그런 다음 Windows에서 Clang을 사용하여 빌드하려고 시도하고 다음과 같은 오류가 발생했습니다. error: no …

1
컨테이너에 32 개 이상의 요소가있는 경우에만 std :: sort가 스왑을 호출하는 이유는 무엇입니까?
안녕하세요, 간단한 질문이 있습니다. class A { public: A(int); A(const A&amp;); A&amp; operator=(const A&amp;); ~A(); private: int* ptr_; friend bool operator&lt;(const A&amp;, const A&amp;); friend void swap(A&amp;, A&amp;); }; A::A(int x) : ptr_(new int(x)) {} A::A(const A&amp; rhs) : ptr_(rhs.ptr_ ? new int(*rhs.ptr_) : nullptr) {} A&amp; A::operator = (const …
13 c++  std  swap 

1
std :: span에 비교 연산자가없는 이유는 무엇입니까?
/ / 일반 배열 등 std::span의 하위 영역에 대한 간단한 참조로 설계 되지 않았습니까 ? API에 비교 연산자를 포함시키기 위해 비교 연산자를 포함해서는 안됩니까? 배제에 대한 추론은 무엇입니까?std::vectorstd::array 참고 : 비교 연산자에 의해, 나도 전체 집합을 의미한다 ( &lt;, &lt;=, ...) 또는 우주선&lt;=&gt;
10 c++  std  c++20  std-span 

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