«c++» 태그된 질문

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


13
std :: type_info :: name 결과 관리 해제
저는 현재 호출 함수에 대한 정보를 인쇄하는 로깅 코드를 작업 중입니다. 이것은 비교적 쉬울 것입니다. 표준 C ++에는 type_info클래스가 있습니다. 여기에는 typeid의 클래스 / 함수 / 등의 이름이 포함됩니다. 그러나 그것은 엉망입니다. 별로 유용하지 않습니다. 즉 typeid(std::vector<int>).name()돌아갑니다 St6vectorIiSaIiEE. 이것에서 유용한 것을 생산하는 방법이 있습니까? 마찬가지로 std::vector<int>위의 예를 들어. 템플릿이 아닌 …
93 c++  gcc  name-mangling 

7
POSIX 파일 설명자에서 C ++ fstream을 구성하는 방법은 무엇입니까?
기본적으로 fdopen ()의 C ++ 버전을 찾고 있습니다. 나는 이것에 대해 약간의 조사를했고 그것이 쉬울 것 같지만 매우 복잡한 것으로 밝혀진 것 중 하나입니다. 나는이 믿음에서 무언가를 놓치고 있는가 (즉, 정말 쉽다)? 그렇지 않다면 어딘가에 이것을 처리 할 수있는 좋은 라이브러리가 있습니까? 편집 : 예제 솔루션을 별도의 답변으로 옮겼습니다.


8
왜 C ++에서 파이썬보다 문자열을 더 느리게 분할합니까?
저는 약간의 속도를 얻고 내 녹슨 C ++ 기술을 연마하기 위해 일부 코드를 Python에서 C ++로 변환하려고합니다. 표준 입력에서 라인을 읽는 순진 구현 (참조 ++ 훨씬 빠르게 C보다는 파이썬 때 어제 나는 충격을 받았다 이 ). 오늘, 마침내 분리 문자 병합 (파이썬의 split ()과 유사한 의미)을 사용하여 C ++에서 문자열을 …


2
C와 C ++에서 + =의 결과는 무엇입니까?
다음 코드가 있습니다. #include <stdio.h> int main(int argc, char **argv) { int i = 0; (i+=10)+=10; printf("i = %d\n", i); return 0; } gcc를 사용하여 C 소스로 컴파일하려고하면 오류가 발생합니다. error: lvalue required as left operand of assignment 그러나 g ++를 사용하여 C ++ 소스로 컴파일하면 오류가 발생하지 않고 실행 …
93 c++  c 

6
extern 인라인은 무엇을합니까?
나는 inline그 자체로 컴파일러에 대한 제안이며, 재량에 따라 함수를 인라인 할 수도 있고 아닐 수도 있으며 링크 가능한 개체 코드도 생성 할 수 있음을 이해합니다. 나는 그것이 똑같을 것이라고 생각합니다 static inline(인라인 될 수도 있고 아닐 수도 있습니다). 그러나 인라인 될 때 ​​링크 가능한 객체 코드를 생성하지 않을 것입니다 (다른 …

3
명령 플래그를 사용하여 향후 공유 라이브러리에 중단 점을 설정하는 방법
--command플래그를 사용하여 gdb 세션을 자동화하려고합니다 . 공유 라이브러리의 함수 (DLL에 해당하는 Unix)에 중단 점을 설정하려고합니다. 내 cmds.gdb는 다음과 같습니다. set args /home/shlomi/conf/bugs/kde/font-break.txt b IA__FcFontMatch r 그러나 다음을 얻습니다. shlomi : ~ / progs / bugs-external / kde / font-breaking $ gdb --command = cmds.gdb ... GNU gdb 6.8-2mdv2009.0 (Mandriva Linux …
93 c++  c  linux  unix  gdb 

2
C ++에서 [=]은 무엇을 의미합니까?
나는 무엇을 알고 싶어 [=]? 다음은 간단한 예입니다. template <typename T> std::function<T (T)> makeConverter(T factor, T offset) { return [=] (T input) -> T { return (offset + input) * factor; }; } auto milesToKm = makeConverter(1.60936, 0.0); []대신 코드가 어떻게 작동 [=]합니까? 나는 가정한다 std::function<T (T)> (T)인수 및 반환 …
93 c++  c++11  lambda 

9
편집하고 싶지 않은 타사 코드에서 gcc에서 나오는 미사용 변수 경고를 어떻게 비활성화합니까?
사용하지 않는 변수 경고를 끄기 위해 gcc 컴파일러에 어떤 스위치를 전달하는지 알고 싶습니다. Windows의 부스트에서 오류가 발생하고 부스트 코드를 만지고 싶지 않습니다. C:\boost_1_52_0/boost/system/error_code.hpp: At global scope: C:\boost_1_52_0/boost/system/error_code.hpp:214:36: error: 'boost::system::posix_category' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:215:36: error: 'boost::system::errno_ecat' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:216:36: error: 'boost::system::native_ecat' defined but not used [-Werror=unused-variable] …

14
C ++에서 bool을 텍스트로 변환
아마도 이것은 어리석은 질문이지만, 1이 "true"로 바뀌고 0이 "false"로 바뀌도록 부울 값을 문자열로 변환하는 방법이 있습니까? if 문을 사용할 수 있지만 언어 또는 표준 라이브러리로이를 수행 할 수있는 방법이 있는지 아는 것이 좋습니다. 게다가 저는 pedant입니다. :)
93 c++  string  boolean 


4
비 유형 템플릿 매개 변수
비 유형 템플릿 매개 변수가 상수 정수 표현식이어야한다는 것을 이해합니다. 누군가가 왜 그렇게 밝힐 수 있습니까? template <std::string temp> void foo() { // ... } error C2993: 'std::string' : illegal type for non-type template parameter 'temp'. 나는 상수 적분 표현이 무엇인지 이해합니다. std::string위의 스 니펫 과 같이 상수가 아닌 유형을 …
93 c++  templates 

10
C ++에서 증가-언제 x ++ 또는 ++ x를 사용합니까?
저는 현재 C ++를 배우고 있으며 얼마 전에 증가에 대해 배웠습니다. 나는 "++ x"를 사용하여 이전에 증분을 만들고 "x ++"를 사용하여 이후에 할 수 있다는 것을 알고 있습니다. 그래도 언제 둘 중 하나를 사용해야할지 모르겠습니다. "++ x"를 실제로 사용한 적이 없으며 지금까지 모든 것이 잘 작동했습니다. 언제 사용해야합니까? 예 : …

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