«c++-standard-library» 태그된 질문

C ++ 프로그래밍 언어에서 C ++ 표준 라이브러리는 핵심 언어로 작성되거나 작성되지 않을 수 있으며 C ++의 일부인 클래스 및 함수의 모음입니다.



5
"STL"과 "C ++ 표준 라이브러리"의 차이점은 무엇입니까?
누군가가 SGI STL에서 가져온 부분 대신 전체 C ++ 표준 라이브러리를 언급하는 데 STL 용어가 잘못 사용 되었다고 주장 하면서이 기사 를 주목했습니다 . (...) STL (SGI에서 설계된)을 사용하는 사람이 거의 없다는 사실에도 불구하고 "STL"을 나타냅니다. C ++ 표준 라이브러리의 일부는 STL의 일부를 기반으로했으며 많은 사람들 (여러 작성자 및 악명 …

9
C ++ valarray vs. 벡터
나는 벡터를 많이 좋아한다. 그들은 깔끔하고 빠릅니다. 그러나 나는 valarray라는 것이 존재한다는 것을 알고 있습니다. 왜 벡터 대신에 valarray를 사용해야합니까? 나는 valarrays에 약간의 구문 설탕이 있다는 것을 알고 있지만 그 외에는 언제 유용합니까?

8
반복하는 동안 std :: set에서 요소 삭제
미리 정의 된 기준에 맞는 요소를 설정하고 제거해야합니다. 이것은 내가 작성한 테스트 코드입니다. #include <set> #include <algorithm> void printElement(int value) { std::cout << value << " "; } int main() { int initNum[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; std::set<int> numbers(initNum, initNum + …


2
libc ++에서 짧은 문자열 최적화의 메커니즘은 무엇입니까?
이 답변 은 짧은 문자열 최적화 (SSO)에 대한 멋진 고급 개요를 제공합니다. 그러나 실제로 libc ++ 구현에서 어떻게 작동하는지 더 자세히 알고 싶습니다. SSO 자격을 얻으려면 문자열이 얼마나 짧아야합니까? 이것은 대상 아키텍처에 따라 달라 집니까? 구현시 문자열 데이터에 액세스 할 때 짧은 문자열과 긴 문자열을 어떻게 구분합니까? m_size <= 16다른 …

2
C ++ 17을 사용하여 파일 크기를 바이트 단위로 가져 오는 방법
특정 운영 체제에 대해 알아야 할 함정이 있습니까? 이 질문의 중복 ( 1 , 2 , 3 , 4 , 5 )이 많이 있지만 수십 년 전에 답변되었습니다. 오늘날 이러한 많은 질문에서 매우 높은 투표를받은 답변은 잘못된 것입니다. .sx의 다른 (이전 QA) 메서드 stat.h (래퍼 sprintstatf ), syscall 사용 tellg …

1
libc ++의 vector <bool> :: const_reference가 bool이 아닌 이유는 무엇입니까?
섹션 23.3.7 클래스 vector&lt;bool&gt;[vector.bool], 단락 1은 다음과 같이 설명합니다. template &lt;class Allocator&gt; class vector&lt;bool, Allocator&gt; { public: // types: typedef bool const_reference; ... 그러나이 프로그램은 libc ++를 사용할 때 컴파일되지 않습니다. #include &lt;vector&gt; #include &lt;type_traits&gt; int main() { static_assert(std::is_same&lt;std::vector&lt;bool&gt;::const_reference, bool&gt;{}, "?"); } 또한 C ++ 표준은이 사양에서 C ++ 98로 …


4
최신 C ++의 실험적 기능은 장기 프로젝트에서 신뢰할 수 있습니까?
현재 C ++ 11 / 14를 사용하는 프로젝트가 있지만 std::filesystemC ++ 17에서만 사용할 수 있는와 같은 것이 필요 하므로 현재 사용할 기회가 없습니다. 그러나 현재 컴파일러에서 std::experimental::filesystem. 미래에 다음과 같은 것을 추가 할 수 있다고 가정하고 실험적 기능을 사용하는 것이 좋은 생각입니까? #ifdef CXX17 //if this is C++17 std::filesystem::something ...; …

9
C ++ 표준 라이브러리에 transform_if가없는 이유는 무엇입니까?
조건부 복사 (1.로 수행 가능)를 수행하고 copy_if싶지만 값 컨테이너에서 해당 값에 대한 포인터 컨테이너 (2. 로 수행 가능) 로의 사용 사례가 나타났습니다 transform. 사용 가능한 도구로 는 두 단계 미만으로 수행 할 수 없습니다 . #include &lt;vector&gt; #include &lt;algorithm&gt; using namespace std; struct ha { int i; explicit ha(int a) …

10
std :: queue 반복
반복해야합니다 std::queue. www.cplusplus.com 말한다 : 기본적으로 특정 대기열 클래스에 대해 지정된 컨테이너 클래스가 없으면 표준 컨테이너 클래스 템플릿 deque가 사용됩니다. 그래서 어떻게 든 큐의 기본 deque에 가서 그것을 반복 할 수 있습니까?

2
많은 표준 라이브러리 유형의 C ++ 20에서 operator! =가 제거 된 이유는 무엇입니까?
에 따르면 cppreference , std::type_info::operator!=C ++ (20)로 제거됩니다, 그러나, std::type_info::operator==분명히 남아있다. 뒤에 추론은 무엇입니까? 나는 불평등을 무의미하게 비교하는 데 동의하지만 평등을 비교하는 것은 무의미 할 것입니다. 마찬가지로, operator!=예컨대 용기를 포함하는 많은 다른 표준 라이브러리 유형의 std::unordered_map::operator!=및 std::unordered_set::operator!=cppreference에 따른 C ++ 20에서 제거 될 것이다. 작성 if(!(id1 == id2))해야하는 if(id1 != …


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