«c++» 태그된 질문

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

15
std 네임 스페이스 사용
std 네임 스페이스와 관련하여 '사용'을 사용하는 데 다른 견해가있는 것 같습니다. 어떤 사람들은 ' using namespace std'를 사용한다고 말하고 , 다른 사람들은 ' std::' 와 함께 사용할 std 함수를 접두사로 말하고 다른 사람들은 다음과 같이 사용한다고 말합니다. using std::string; using std::cout; using std::cin; using std::endl; using std::vector; 사용할 모든 표준 …
110 c++  namespaces 


12
const char * const 대 const char *?
C ++에 익숙해지기 위해 몇 가지 예제 프로그램을 실행 중이며 다음 질문에 직면했습니다. 먼저 다음은 예제 코드입니다. void print_string(const char * the_string) { cout << the_string << endl; } int main () { print_string("What's up?"); } 위 코드에서 print_string에 대한 매개 변수는 대신 const char * const the_string. 이것에 대해 …
110 c++  c 

4
C / C ++ NaN 상수 (리터럴)?
또는 C / C ++에서 를 할당 할 NaN수 있습니까? JavaScript에서와 마찬가지로 : . 따라서 나중에 변수가 숫자인지 아닌지 확인할 수 있습니다.doublefloata = NaN
110 c++  nan 

9
두 개의 int를 나누면 double에 할당 될 때 올바른 값이 생성되지 않는 이유는 무엇입니까?
다음 스 니펫에서 어떻게 int a = 7; int b = 3; double c = 0; c = a / b; c예상대로 2.3333이 아닌 2의 값을 갖게됩니다. 경우 a와 b복식이다, 대답은 2.333로 전환 않습니다. 그러나 확실히 c 이미 double 이기 때문에 정수로 작업해야 했습니까? 그래서 어떻게 int/int=double작동하지 않습니까?

8
Qt : -lGL 오류를 찾을 수 없습니다.
방금 QtCreator를 다시 설치하고 새 프로젝트 ( Qt Application )를 만들었으며 컴파일 후 다음과 같이했습니다. /usr/bin/ld: **cannot find -lGL** collect2: error: ld returned 1 exit status make: *** [untitled1] Error 1 18:07:41: The process "/usr/bin/make" exited with code 2. Error while building/deploying project untitled1 (kit: Desktop Qt 5.1.0 GCC 32bit) …


7
C ++에서 예외가 작동하는 방식 (뒤에서)
사람들이 예외가 느리다고 말하는 것을 계속 보지만 증거는 없습니다. 따라서 예외가 있는지 묻는 대신 예외가 배후에서 어떻게 작동하는지 물어볼 것입니다. 그러면 예외를 언제 사용할지, 느린 지 여부를 결정할 수 있습니다. 내가 아는 바에 따르면 예외는 여러 번 반환하는 것과 동일하지만 각 반환 후에 다른 작업을 수행해야하는지 중지해야하는지 여부도 확인합니다. 반납 …

4
결과가 무엇이든 상관없이 0으로 나누기를 지원하는 가장 빠른 정수 나눗셈은 무엇입니까?
요약: 계산하는 가장 빠른 방법을 찾고 있습니다 (int) x / (int) y 예외없이 y==0. 대신 임의의 결과를 원합니다. 배경: 이미지 처리 알고리즘을 코딩 할 때 종종 (누적 된) 알파 값으로 나눌 필요가 있습니다. 가장 간단한 변형은 정수 산술을 사용하는 일반 C 코드입니다. 내 문제는 일반적으로 결과 픽셀에 대해 0으로 나누기 …



6
CMake를 사용하여 C ++ 프로그램을 Boost와 연결하는 방법
내 프로그램을 Ubuntu에서 Boost 라이브러리와 연결하려면 내 CMake 파일이 어떻게 표시되어야합니까? 실행 중 표시되는 오류 make: main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length' 주 파일은 정말 간단합니다. #include <boost/program_options/options_description.hpp> #include <boost/program_options/option.hpp> using namespace std; #include <iostream> namespace po = boost::program_options; int main(int argc, char** argv) { po::options_description desc("Allowed options"); desc.add_options() ("help", "produce …
109 c++  boost  cmake 

12
가상 기능과 vtable은 어떻게 구현됩니까?
우리는 모두 C ++에 어떤 가상 함수가 있는지 알고 있지만, 어떻게 심층적으로 구현 될까요? vtable을 수정하거나 런타임에 직접 액세스 할 수 있습니까? vtable이 모든 클래스에 대해 존재합니까, 아니면 하나 이상의 가상 기능이있는 클래스에만 존재합니까? 추상 클래스는 적어도 하나의 항목의 함수 포인터에 대해 단순히 NULL을 가지고 있습니까? 단일 가상 기능을 사용하면 …

7
클래스 정의에서 정적 const 정수 멤버 정의
내 이해는 C ++에서는 정수 유형 인 한 클래스 내에서 정적 const 멤버를 정의 할 수 있다는 것입니다. 그러면 다음 코드에서 링커 오류가 발생하는 이유는 무엇입니까? #include <algorithm> #include <iostream> class test { public: static const int N = 10; }; int main() { std::cout << test::N << "\n"; std::min(9, …

5
rand () % 6이 편향된 이유는 무엇입니까?
std :: rand 사용 방법을 읽을 때 cppreference.com 에서이 코드를 찾았습니다. int x = 7; while(x > 6) x = 1 + std::rand()/((RAND_MAX + 1u)/6); // Note: 1+rand()%6 is biased 오른쪽의 표현에 문제가 있습니까? 그것을 시도하고 완벽하게 작동합니다.
109 c++  random  std 

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