«c++» 태그된 질문

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

2
std :: move ()는 어떻게 값을 RValues로 전송합니까?
의 논리를 완전히 이해하지 못하고 std::move()있습니다. 처음에는 검색했지만 std::move()구조가 어떻게 작동하는지가 아니라 사용 방법에 대한 문서 만있는 것 같습니다 . 내 말은, 템플릿 멤버 함수가 무엇인지 알고 있지만 std::move()VS2010에서 정의를 살펴보면 여전히 혼란 스럽습니다. std :: move ()의 정의는 다음과 같습니다. template<class _Ty> inline typename tr1::_Remove_reference<_Ty>::_Type&& move(_Ty&& _Arg) { // …

9
새로운 표준 버전을 사용하는 C ++에서 자동 동작 변경이 있었습니까?
(목록이 아닌 요점을 증명하기 위해 한두 가지 예를 찾고 있습니다.) C ++ 표준의 변경 (예 : 98에서 11, 11에서 14 등)이 기존의 잘 구성되고 정의 된 동작 사용자 코드의 동작을 자동으로 변경 한 적이 있습니까? 즉, 최신 표준 버전으로 컴파일 할 때 경고 나 오류가 없습니까? 메모: 구현 자 / …

3
C ++ 14는 C ++에 새 키워드를 추가합니까?
C ++ 표준위원회는 언어에 새 키워드를 추가하는 것을 꺼리는 경향이 있지만 C ++ 11에서는 그렇지 않습니다. 몇 가지 예 : constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas C ++ 14에 도입 된 새로운 키워드가 있습니까?
103 c++  c++11  keyword  c++14 


4
shared_ptr은 어디에 있습니까?
나는 shared_ptr이 어디에 있는지 찾으려고 몇 시간 후에 지금 너무 실망합니다. 내가 보는 예제는 헤더를 포함하는 완전한 코드를 보여주지 shared_ptr않습니다. 간단하게 진술 std, tr1그리고 <memory>전혀 도움이되지 않는다! 부스트를 모두 다운로드했지만 여전히 표시되지 않습니다! 누군가 그것을 찾을 수있는 정확한 위치를 말함으로써 나를 도울 수 있습니까? 답답함을 풀어 주셔서 감사합니다! 편집 : …

2
오류시 'pi'기호를 표시하는 컴파일러
Coliru 에서 일부 코드를 테스트하고 있었는데 이상한 출력이 나왔습니다 . 코드를 내려가 다음과 같은 간단한 코드로 재현 할 수 있습니다 . int main() { π } g ++의 출력 : 그 소리: 예를 들어 pi(주소없이) just을 사용 하면 예상되는 결과가 표시됩니다. main.cpp:3:5: error: 'pi' was not declared in this scope …
103 c++  coliru 

5
C ++에서 임시 수명 보장?
C ++는 함수 호출 내에서 생성되었지만 매개 변수로 사용되지 않는 임시 변수의 수명을 보장합니까? 다음은 클래스의 예입니다. class StringBuffer { public: StringBuffer(std::string & str) : m_str(str) { m_buffer.push_back(0); } ~StringBuffer() { m_str = &m_buffer[0]; } char * Size(int maxlength) { m_buffer.resize(maxlength + 1, 0); return &m_buffer[0]; } private: std::string & …
103 c++ 

4
왜 모두가 표준 C 유형보다 typedef합니까?
당신이 사용하려는 경우 Qt는을 , 당신은 포용해야한다 quint8, quint16등등합니다. 당신이 사용하려는 경우 입심을 , 당신은 환영에있다 guint8, guint16등등합니다. 에 리눅스 가 u32, s16등등합니다. uC / OS 는 SINT32등을 정의 UINT16합니다. 그리고 이러한 것들의 조합을 사용해야한다면 문제에 대비하는 것이 좋습니다. 에 있기 때문에 컴퓨터가 u32될 것이다 typedef이상 거라고 long및 quint32것 typedef이상 …
103 c++  c  stdint 

6
__gxx_personality_v0의 용도는 무엇입니까?
이것은 OS 개발 사이트의 간접 질문이지만 어디에서도 괜찮은 설명을 찾을 수 없기 때문에 궁금했습니다. gcc를 사용하여 독립형 C ++ 프로그램을 컴파일하고 링크 할 때 때때로 다음과 같은 링커 오류가 발생합니다. out/kernel.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' 이 기호는 독립 환경에서 누락 된 libstdc ++에 정의되어 있기 때문입니다. 문제를 해결하려면이 기호를 어딘가에 …
103 c++  gcc  linker  kernel 

12
C 문자 리터럴이 문자 대신 정수인 이유는 무엇입니까?
C ++에서 sizeof('a') == sizeof(char) == 1. 이것은 'a'문자 리터럴이고 sizeof(char) == 1표준에 정의 된대로 직관적으로 이해 됩니다. 그러나 C에서는 sizeof('a') == sizeof(int). 즉, C 문자 리터럴은 실제로 정수인 것처럼 보입니다. 이유를 아는 사람이 있습니까? 이 C 특성에 대한 많은 언급을 찾을 수 있지만 왜 존재하는지에 대한 설명은 없습니다.
103 c++  c  char  sizeof 

10
std :: set에 "contains"멤버 함수가없는 이유는 무엇입니까?
나는 많이 사용 std::set<int>하고 있으며 종종 그러한 세트에 숫자가 포함되어 있는지 확인해야합니다. 다음과 같이 쓰는 것이 자연 스럽습니다. if (myset.contains(number)) ... 하지만 contains멤버 가 없어서 귀찮은 글을 써야합니다. if (myset.find(number) != myset.end()) .. 또는 명확하지 않은 경우 : if (myset.count(element) > 0) .. 이 디자인 결정에 대한 이유가 있습니까?
103 c++  stl  stdset 

2
boost :: flat_map 및 map 및 unordered_map과 비교 한 성능
메모리 지역성이 캐시 적중으로 인해 성능을 크게 향상 시킨다는 것은 프로그래밍에서 상식입니다. 최근 boost::flat_map에지도의 벡터 기반 구현이 무엇인지 알아 냈습니다 . 당신의 전형적인만큼 인기가하지 않는 것 map/ unordered_map내가 어떤 성능 비교를 찾을 수 없어 있도록. 어떻게 비교하고 최상의 사용 사례는 무엇입니까? 감사!
103 c++  boost  map 

7
C ++에서 함수에서 벡터를 반환하는 것은 여전히 ​​나쁜 습관입니까?
짧은 버전 : 많은 프로그래밍 언어에서 벡터 / 배열과 같은 큰 개체를 반환하는 것이 일반적입니다. 클래스에 이동 생성자가있는 경우이 스타일이 이제 C ++ 0x에서 허용됩니까? 아니면 C ++ 프로그래머가 이상 / 추악 / 혐오스러운 것으로 간주합니까? 긴 버전 : C ++ 0x에서 여전히 잘못된 형식으로 간주됩니까? std::vector<std::string> BuildLargeVector(); ... std::vector<std::string> …

7
C / C ++ 매크로의 쉼표
이와 같은 매크로가 있다고 가정 해 보겠습니다. #define FOO(type,name) type name 다음과 같이 사용할 수 있습니다. FOO(int, int_var); 그러나 항상 그렇게 간단하지는 않습니다. FOO(std::map<int, int>, map_var); // error: macro "FOO" passed 3 arguments, but takes just 2 물론 우리는 할 수 있습니다 : typedef std::map<int, int> map_int_int_t; FOO(map_int_int_t, map_var); // …
103 c++  c  macros  c-preprocessor 

8
C ++ 정수 나누기와 나머지를 얻는 가장 좋은 방법
a를 b로 나누고 결과 c와 나머지 모두에 관심이 있는지 궁금합니다 (예 : 초 수를 가지고 있고이를 분과 초로 나누고 싶다고 가정 해 보겠습니다). 가장 좋은 방법은 무엇입니까? 그것에 대해? 일 것이다 int c = (int)a / b; int d = a % b; 또는 int c = (int)a / b; …
103 c++  division 

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