«c++» 태그된 질문

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

5
어떤 경우에 C ++ 컴파일러가 꼬리 재귀 최적화를 수행합니까?
C와 C ++에서 꼬리 재귀 최적화를 수행하는 것이 완벽하게 잘 작동하는 것처럼 보이지만 디버깅하는 동안이 최적화를 나타내는 프레임 스택을 보지 못하는 것 같습니다. 스택은 재귀의 깊이를 알려주기 때문에 좋은 것입니다. 그러나 최적화도 좋습니다. C ++ 컴파일러가이 최적화를 수행합니까? 왜? 왜 안돼? 컴파일러에게 지시하는 방법은 무엇입니까? MSVC의 경우 : /O2또는/Ox GCC의 …

18
포인터를 삭제 한 후 포인터를 NULL로 만드는 것이 좋습니다.
먼저 말하고 스마트 포인터를 사용하면 걱정할 필요가 없습니다. 다음 코드의 문제점은 무엇입니까? Foo * p = new Foo; // (use p) delete p; p = NULL; 이것은 다른 질문 에 대한 답변과 의견으로 시작 되었습니다. 닐 버터 워스 (Neil Butterworth)의 한 의견은 몇 가지 공감대를 만들었습니다. 삭제 후 포인터를 NULL로 …


11
C ++에서 난수를 생성하는 방법은 무엇입니까?
주사위로 게임을 만들려고하는데 주사위의 측면을 시뮬레이션하기 위해 임의의 숫자가 필요합니다 .1과 6 사이에서 만드는 법을 알고 있습니다. 사용 #include <cstdlib> #include <ctime> #include <iostream> using namespace std; int main() { srand((unsigned)time(0)); int i; i = (rand()%6)+1; cout << i << "\n"; } 프로그램을 몇 번 실행하면 다음과 같은 결과가 나오기 …
150 c++  random 

19
값에 관계없이 유형이 항상 특정 크기 인 이유는 무엇입니까?
구현은 실제 크기 유형에 따라 다를 수 있지만 대부분 부호없는 int 및 float와 같은 유형은 항상 4 바이트입니다. 그러나 왜 유형에 관계없이 값이 항상 특정 양의 메모리를 차지 합니까? 예를 들어 값이 255 인 다음 정수를 만든 경우 int myInt = 255; 그런 다음 myInt컴파일러에서 4 바이트를 차지합니다. 그러나 실제 …
149 c++ 

12
왜 x [0]! = x [0] [0]! = x [0] [0] [0]입니까?
나는 약간의 C ++을 공부하고 있으며 포인터와 싸우고 있습니다. 다음과 같이 선언하면 3 단계의 포인터를 가질 수 있음을 이해합니다. int *(*x)[5]; 그래서 이것은 *x포인터 인 5 개 요소의 배열에 대한 포인터 int입니다. 또한 내가 알고 x[0] = *(x+0);, x[1] = *(x+1)등등 및 .... 위의 선언에서 왜 그렇 x[0] != x[0][0] …
149 c++  c  arrays  pointers 

17
const 포인터의 요점은 무엇입니까?
const 값에 대한 포인터가 아니라 const 포인터 자체에 대해 이야기하고 있습니다. 나는 매우 기본적인 것들을 넘어서 C와 C ++를 배우고 있으며 오늘까지 포인터가 함수에 가치에 의해 전달된다는 것을 깨달았습니다. 이것은 함수 내에서 호출자의 원래 포인터에 영향을 미치지 않고 복사 된 포인터가 다른 값을 가리 키도록 할 수 있음을 의미합니다. 따라서 …
149 c++  c  pointers  const 

2
`void_t`는 어떻게 작동합니까
나는 Cppcon14에서 Walter Brown이 SFINAE 기술 을 발표 한 최신 템플릿 프로그래밍 ( Part I , Part II ) 에 대해 이야기하는 것을 보았다 void_t. 예 : 모든 템플릿 인수가 올바른지 평가하는 간단한 변수 템플릿이 제공됩니다 void. template< class ... > using void_t = void; 그리고 member라는 멤버 변수가 있는지 …
149 c++  templates  c++14  sfinae 

2
`static const`와`const`의 C ++ 시맨틱
C ++에서 구체적으로 예를 들어 다음과 같은 의미 론적 차이점은 무엇입니까? static const int x = 0 ; 과 const int x = 0 ; 모두 static링키지 및 스토리지 클래스 지정자 (즉, 내부 및 외부 기능) 등.
149 c++ 

14
참조 배열이 왜 불법입니까?
다음 코드는 컴파일되지 않습니다. int a = 1, b = 2, c = 3; int& arr[] = {a,b,c,8}; C ++ 표준은 이것에 대해 무엇을 말합니까? 참조가 포함 된 클래스를 선언 한 다음 아래 표시된 것처럼 해당 클래스의 배열을 만들 수 있다는 것을 알고 있습니다. 그러나 실제로 위의 코드가 컴파일되지 않는 …
149 c++  arrays  reference 

8
Python 프로그램을 C / C ++ 코드로 변환 하시겠습니까? [닫은]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 삼년 전에 . 이 질문을 개선하십시오 파이썬 프로그램을 C / C ++로 변환 할 수 있습니까? 몇 가지 알고리즘을 구현해야하며 C …
149 c++  python  c  code-generation 

5
향상된 GCC 6 최적화 프로그램이 실용적인 C ++ 코드를 깨뜨리는 이유는 무엇입니까?
GCC 6에는 새로운 최적화 기능이 있습니다 . this항상 null이 아니라고 가정하고이를 기반으로 최적화합니다. 값 범위 전파는 이제 C ++ 멤버 함수의 this 포인터가 널이 아닌 것으로 가정합니다. 이것은 일반적인 널 포인터 검사를 제거 하지만 부적합한 코드 기반 (예 : Qt-5, Chromium, KDevelop)도 중단 합니다. 임시 해결 방법으로 -fno-delete-null-pointer-checks를 사용할 수 …

6
왜 std :: move std :: shared_ptr을 사용합니까?
Clang 소스 코드를 살펴본 결과이 스 니펫을 발견했습니다. void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } 왜 내가 원하는 것 ?std::movestd::shared_ptr 공유 리소스에 대한 소유권을 이전 할 수 있습니까? 왜 대신 대신이 작업을 수행하지 않습니까? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = Value; }

9
텍스트 OpenCV 추출
이미지에서 텍스트의 경계 상자를 찾으려고 노력 중이며 현재이 접근법을 사용하고 있습니다. // calculate the local variances of the grayscale image Mat t_mean, t_mean_2; Mat grayF; outImg_gray.convertTo(grayF, CV_32F); int winSize = 35; blur(grayF, t_mean, cv::Size(winSize,winSize)); blur(grayF.mul(grayF), t_mean_2, cv::Size(winSize,winSize)); Mat varMat = t_mean_2 - t_mean.mul(t_mean); varMat.convertTo(varMat, CV_8U); // threshold the high variance …

3
클래스 템플릿에서 정적 멤버 초기화
나는 이것을하고 싶다 : template <typename T> struct S { ... static double something_relevant = 1.5; }; 그러나 나는 그 이후 something_relevant로 완전한 유형이 아닙니다. 에 의존하지 T않지만 기존 코드는의 정적 멤버에 의존합니다 S. S는 템플릿이므로 컴파일 된 파일에 정의를 넣을 수 없습니다. 이 문제를 어떻게 해결합니까?
148 c++  templates  static 

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