C ++는 범용 프로그래밍 언어입니다. 원래 C에 대한 확장으로 설계되었으며 유사한 구문을 갖지만 이제는 완전히 다른 언어입니다. C ++ 컴파일러로 컴파일 된 코드에 대한 질문에이 태그를 사용하십시오. 특정 표준 개정 [C ++ 11], [C ++ 14], [C ++ 17] 또는 [C ++ 20] 등과 관련된 질문에 버전 별 태그를 사용하십시오.
std :: list <std :: string>을 사용할 때 스택 오버플로 질문 메모리 누수가 std :: string으로 우연히 발견되었으며 주석 중 하나가 다음 과 같이 말합니다. new너무 많이 사용 하지 마십시오. 당신이 어디서나 새로운 것을 사용한 이유를 볼 수 없습니다. C ++ 에서 값을 기준으로 개체를 만들 수 있으며 언어를 사용하는 …
어셈블리 및 C ++ 로 Project Euler Q14에 대한이 두 가지 솔루션을 작성했습니다 . 이것들은 Collatz 추측 을 테스트하기위한 동일한 동일한 무차별 접근 방식입니다 . 조립 솔루션은 nasm -felf64 p14.asm && gcc p14.o -o p14 C ++는 g++ p14.cpp -o p14 어셈블리, p14.asm section .data fmt db "%d", 10, 0 …
현재 다음 코드를 사용하여 std::strings프로그램의 모든 항목을 오른쪽으로 자릅니다 . std::string s; s.erase(s.find_last_not_of(" \n\r\t")+1); 잘 작동하지만 실패 할 수있는 최종 사례가 있는지 궁금합니다. 물론, 우아한 대안과 왼쪽 손질 솔루션으로 답변을 환영합니다.
나는 C ++ 11의 새로운 기능 중 일부를 살펴 보았으며 내가 주목 한 것은 이중 앰퍼샌드와 같은 변수를 선언하는 것 T&& var입니다. 처음에,이 짐승은 무엇입니까? Google에서 이와 같은 구두점을 검색 할 수 있기를 바랍니다. 정확히 무엇을 의미합니까? 언뜻보기에는 이중 참조 인 것처럼 보이지만 (C 스타일 이중 포인터와 같은 T** var) …
많은 C / C ++ 매크로에서 의미없는 do while루프 처럼 보이는 매크로 코드를보고 있습니다. 다음은 예입니다. #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else 나는 무엇을하고 있는지 알 수 없습니다 do while. 그것없이 이것을 쓰지 않겠습니까? #define FOO(X) f(X); g(X)
문제의 프로그램에서 발췌 한 내용은 다음과 같습니다. 행렬 img[][]의 크기는 SIZE × SIZE이며 다음 위치에서 초기화됩니다. img[j][i] = 2 * j + i 그런 다음 행렬을 만들고 res[][]여기의 각 필드는 img 행렬에서 주변의 9 개 필드의 평균이되도록합니다. 간단하게하기 위해 테두리는 0으로 유지됩니다. for(i=1;i<SIZE-1;i++) for(j=1;j<SIZE-1;j++) { res[j][i]=0; for(k=-1;k<2;k++) for(l=-1;l<2;l++) res[j][i] += …
나는 사이의 차이점을 이해 할 수없는 생각 std::string과 std::wstring. wstring유니 코드 문자와 같은 넓은 문자를 지원한다는 것을 알고 있습니다. 다음과 같은 질문이 있습니다. 언제 std::wstring이상 사용해야 std::string합니까? std::string특수 문자를 포함하여 전체 ASCII 문자 세트를 보유 할 수 있습니까 ? 되어 std::wstring모든 인기있는 C ++ 컴파일러에 의해 지원? 정확히 " 와이드 …