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

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

2
왜 std :: string :: find ()가 실패했을 때 end iterator를 반환하지 않습니까?
std::string::find표준 C ++ 컨테이너와 동작 이 일치하지 않습니다. 예 : std::map<int, int> myMap = {{1, 2}}; auto it = myMap.find(10); // it == myMap.end() 그러나 문자열의 경우 std::string myStr = "hello"; auto it = myStr.find('!'); // it == std::string::npos 왜 실패한 myStr.find('!')반품 myStr.end()이 std::string::npos아닌가? std::string다른 컨테이너와 비교할 때 다소 특별 …

2
GCC9는 std :: variant의 값없는 상태를 피할 수 있습니까?
최근에 Reddit 토론을 따라 std::visit컴파일러 에서 최적화를 훌륭하게 비교했습니다 . 나는 다음을 발견했다 : https://godbolt.org/z/D2Q5ED GCC9와 Clang9 (모두 동일한 stdlib를 공유한다고 생각합니다)는 모든 유형이 특정 조건을 충족 할 때 가치없는 예외를 확인하고 던지는 코드를 생성하지 않습니다. 이것은 더 나은 codegen으로 이어 지므로 MSVC STL에 문제가 발생 했으며이 코드가 표시되었습니다. template …

1
C ++ 20에서 shift_right ()는 어떻게 구현됩니까?
C ++ 20에서 <algorithm>헤더는 두 개의 새로운 알고리즘을 얻는다 : shift_left()와shift_right() . 둘 다 LegacyForwardIterator를 허용합니다. 에 대해 shift_left(), "이동은 i시작부터 시작 하여 증가하는 순서로 수행됩니다 ​0"; 에 대해 shift_right()" ForwardItLegacyBidirectionalIterator 요구 사항을 충족하는 경우 이동은 i시작 순서에서 내림차순으로 수행됩니다 last - first - n - 1"로 지정됩니다. 구현하기 위해 …

1
std :: string 및 C 스타일 문자열 리터럴 비교
다음 코드가 있다고 가정하십시오. #include <iostream> #include <string> #include <iomanip> using namespace std; // or std:: int main() { string s1{ "Apple" }; cout << boolalpha; cout << (s1 == "Apple") << endl; //true } 내 질문은 : 시스템은이 둘 사이를 어떻게 확인합니까? s1객체 "Apple"는 C 스타일 문자열 리터럴입니다. 내가 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.