«c++» 태그된 질문

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

13
std :: vector에서 상속하지 않아야합니다.
좋아, 이것은 고백하기가 정말로 어렵지만, 나는 지금부터 물려받을 강한 유혹을 받는다 std::vector. 벡터에 대해 약 10 개의 사용자 정의 알고리즘이 필요하며 벡터의 직접 멤버가되기를 바랍니다. 그러나 당연히 나는 나머지 std::vector인터페이스 를 원합니다 . 법을 준수하는 시민으로서의 첫 번째 아이디어 std::vector는 MyVector수업에 회원 을 두는 것이 었습니다 . 그러나 모든 std …
189 c++  oop  inheritance  stl  vector 

5
귀환의 요점은 무엇입니까?
[dcl.attr.noreturn] 은 다음 예제를 제공합니다. [[ noreturn ]] void f() { throw "error"; // OK } 그러나 [[noreturn]]함수의 반환 유형이 이미 있기 때문에 요점을 이해하지 못합니다 void. 그렇다면 noreturn속성 의 요점은 무엇 입니까? 어떻게 사용해야합니까?

8
두 벡터를 연결하는 가장 좋은 방법은 무엇입니까?
멀티 트 레딩을 사용하고 결과를 병합하려고합니다. 예를 들면 다음과 같습니다. std::vector<int> A; std::vector<int> B; std::vector<int> AB; AB가 A의 내용과 B의 내용을 순서대로 갖기를 원합니다. 이와 같은 작업을 수행하는 가장 효율적인 방법은 무엇입니까?
189 c++  vector 

4
왜 C ++에서 중첩 클래스를 사용합니까?
누군가가 중첩 클래스를 이해하고 사용하는 데 도움이되는 멋진 자료를 알려 주시겠습니까? Programming Principles와 같은 자료와이 IBM Knowledge Center-Nested Classes 와 같은 자료가 있습니다. 그러나 나는 여전히 그들의 목적을 이해하는 데 어려움을 겪고 있습니다. 누군가 제발 도와주세요?


10
if… else if 문을 확률 적으로 주문하면 어떤 효과가 있습니까?
특히 일련의 if... else if문이 있고 각 문이 평가 할 상대 확률을 미리 알고 true있다면 확률 순서대로 정렬하는 데 실행 시간의 차이가 얼마나됩니까? 예를 들어, 이것을 선호해야합니까? if (highly_likely) //do something else if (somewhat_likely) //do something else if (unlikely) //do something 이에?: if (unlikely) //do something else if (somewhat_likely) //do …

5
함수 템플릿의 기본 템플릿 인수
기본 템플릿 인수가 클래스 템플릿에서만 허용되는 이유는 무엇입니까? 멤버 함수 템플릿에서 기본 유형을 정의 할 수없는 이유는 무엇입니까? 예를 들면 다음과 같습니다. struct mycclass { template<class T=int> void mymember(T* vec) { // ... } }; 대신 C ++은 기본 템플릿 인수가 클래스 템플릿에서만 허용되도록합니다.
187 c++  templates 


9
CMake 출력을 'bin'디렉토리로 만들려면 어떻게합니까?
현재 플러그인 구조로 프로젝트를 만들고 있습니다. CMake를 사용하여 프로젝트를 컴파일하고 있습니다. 플러그인은 별도의 디렉토리에 컴파일됩니다. 내 문제는 CMake가 소스의 디렉토리 구조에서 바이너리 및 플러그인, 동적 라이브러리를 컴파일하고 저장한다는 것입니다. CMake가 파일을 ./bin 디렉토리 와 같은 곳에 저장하게하려면 어떻게합니까 ?
187 c++  plugins  cmake 


21
C ++에서 열거 형을 플래그로 사용하는 방법은 무엇입니까?
enums를 플래그로 취급하면 C #에서 [Flags]속성을 통해 잘 작동 하지만 C ++에서 이것을 수행하는 가장 좋은 방법은 무엇입니까? 예를 들어 다음과 같이 작성하고 싶습니다. enum AnimalFlags { HasClaws = 1, CanFly =2, EatsFish = 4, Endangered = 8 }; seahawk.flags = CanFly | EatsFish | Endangered; 그러나 int/ enum변환 과 …
187 c++  enums 

14
C ++에서 불필요한 중괄호?
오늘 동료에 대한 코드 검토를 할 때 나는 독특한 것을 보았습니다. 그는 새 코드를 다음과 같이 중괄호로 묶었습니다. Constructor::Constructor() { existing code { New code: do some new fancy stuff here } existing code } 이 결과는 무엇입니까? 이것을하는 이유는 무엇입니까? 이 습관은 어디에서 오는가? 편집하다: 아래의 입력 사항과 일부 …

16
보호되거나 개인 생성자 만있는 클래스에서 :: std :: make_shared를 어떻게 호출합니까?
작동하지 않는이 코드가 있지만 의도가 분명하다고 생각합니다. testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const A &operator =(const A &) = delete; }; ::std::shared_ptr<A> foo() { return A::create(); } 그러나 컴파일 할 때이 오류가 발생합니다. …
187 c++  c++11  shared-ptr 

3
fork () 분기가 예상보다 많습니까?
다음 코드를 고려하십시오. #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { int i; for(i = 0; i < 2; i++) { fork(); printf("."); } return 0; } 이 프로그램은 8 개의 점을 출력합니다. 어떻게 가능할까요? 대신 6 개의 점이 없어야합니까?
186 c++  c  fork 

4
i = i ++ + 1; C ++ 17에서 합법적입니까?
정의되지 않은 동작을 시작하기 전에 N4659 (C ++ 17)에 명시 적으로 나열되어 있습니다. i = i++ + 1; // the value of i is incremented 그러나 N3337 (C ++ 11) i = i++ + 1; // the behavior is undefined 무엇이 바뀌 었습니까? 내가 수집 할 수있는 것, [N4659 basic.exec] …

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