«c++» 태그된 질문

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

1
std :: launder의 목적은 무엇입니까?
P0137 은 함수 템플릿을 소개하고 std::launder공용체, 수명 및 포인터에 관한 섹션에서 표준을 많이, 많이 변경합니다. 이 백서가 해결하는 문제는 무엇입니까? 내가 알아야 할 언어에 어떤 변화가 있습니까? 그리고 우리는 무엇을하고 launder있습니까?

19
유사한 const 함수와 non-const 멤버 함수 간의 코드 중복을 제거하려면 어떻게합니까?
class X내부 구성원에 대한 액세스 권한을 반환하려는 위치 는 다음과 같습니다 . class Z { // details }; class X { std::vector<Z> vecZ; public: Z& Z(size_t index) { // massive amounts of code for validating index Z& ret = vecZ[index]; // even more code for determining that the Z instance …

21
C ++ 함수에서 여러 값 반환
C ++ 함수에서 여러 값을 반환하는 선호되는 방법이 있습니까? 예를 들어, 두 정수를 나누고 몫과 나머지를 모두 반환하는 함수를 상상해보십시오. 내가 일반적으로 보는 한 가지 방법은 참조 매개 변수를 사용하는 것입니다. void divide(int dividend, int divisor, int& quotient, int& remainder); 변형은 하나의 값을 반환하고 다른 하나는 참조 매개 변수를 통해 …
242 c++ 


6
명명되지 않은 네임 스페이스가 사용되는 이유와 장점은 무엇입니까?
방금 새로운 C ++ 소프트웨어 프로젝트에 참여했으며 디자인을 이해하려고합니다. 이 프로젝트는 이름없는 네임 스페이스를 자주 사용합니다. 예를 들어, 클래스 정의 파일에서 다음과 같은 것이 발생할 수 있습니다. // newusertype.cc namespace { const int SIZE_OF_ARRAY_X; const int SIZE_OF_ARRAY_Y; bool getState(userType*,otherUserType*); } newusertype::newusertype(...) {... 명명되지 않은 네임 스페이스를 사용하게 만드는 디자인 고려 …
242 c++  oop  namespaces 

21
C ++ std :: string이 특정 문자열로 시작하고 하위 문자열을 int로 변환하는지 어떻게 확인합니까?
C ++에서 다음 (Python 의사 코드)을 어떻게 구현합니까? if argv[1].startswith('--foo='): foo_value = int(argv[1][len('--foo='):]) (예를 들어, argv[1]이고 --foo=98, 다음 foo_value이다 98.) 업데이트 : 나는 간단한 작은 명령 줄 도구를 아주 조금 변경하는 것을보고 있기 때문에 Boost를 주저하고 있습니다. 변화).

4
C ++에서 (-2147483648> 0)이 true를 반환합니까?
-2147483648은 32 비트 정수 유형의 가장 작은 정수이지만 if(...)문장 에서 오버플로되는 것처럼 보입니다 . if (-2147483648 > 0) std::cout << "true"; else std::cout << "false"; 이것은 true내 테스트에서 인쇄 됩니다. 그러나 -2147483648을 정수로 캐스트하면 결과가 달라집니다. if (int(-2147483648) > 0) std::cout << "true"; else std::cout << "false"; 인쇄 false됩니다. 혼란 …


12
C ++로 바이너리 파일 작성하기
SSD (솔리드 스테이트 드라이브)에 방대한 양의 데이터를 쓰려고합니다. 그리고 엄청난 양의 80GB를 의미합니다. 솔루션을 웹에서 탐색했지만 가장 좋은 방법은 다음과 같습니다. #include <fstream> const unsigned long long size = 64ULL*1024ULL*1024ULL; unsigned long long a[size]; int main() { std::fstream myfile; myfile = std::fstream("file.binary", std::ios::out | std::ios::binary); //Here would be some error …

6
사용자 정의 반복자와 const_iterator를 올바르게 구현하는 방법은 무엇입니까?
iteratorand const_iterator클래스 를 작성하려는 사용자 정의 컨테이너 클래스가 있습니다. 나는 전에 이것을 한 적이 없으며 적절한 방법을 찾지 못했습니다. 반복자 생성에 관한 지침은 무엇이며 무엇을 알고 있어야합니까? 또한 피하기 코드 중복을 같은 (나는 것을 느낄 것 const_iterator하고 iterator, 하나가 다른 서브 클래스해야 공유 많은 것들?). 각주 : Boost는 이것을 쉽게 …





12
반복하면서 std :: list에서 요소를 제거 할 수 있습니까?
다음과 같은 코드가 있습니다. for (std::list<item*>::iterator i=items.begin();i!=items.end();i++) { bool isActive = (*i)->update(); //if (!isActive) // items.remove(*i); //else other_code_involving(*i); } items.remove_if(CheckItemNotActive); 목록을 다시 걷는 것을 피하기 위해 업데이트 직후 비활성 항목을 제거하고 싶습니다. 그러나 주석 처리 된 줄을 추가하면 i++"목록 반복자를 증분 할 수 없습니다" 라는 오류가 발생 합니다. for 문에서 …
239 c++  list  std 

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