C ++는 범용 프로그래밍 언어입니다. 원래 C에 대한 확장으로 설계되었으며 유사한 구문을 갖지만 이제는 완전히 다른 언어입니다. C ++ 컴파일러로 컴파일 된 코드에 대한 질문에이 태그를 사용하십시오. 특정 표준 개정 [C ++ 11], [C ++ 14], [C ++ 17] 또는 [C ++ 20] 등과 관련된 질문에 버전 별 태그를 사용하십시오.
기존 코드를 64 비트 시스템에 적용하려고합니다. 주요 문제는 한 함수에서 이전 코더가 함수 자체에서 적합한 유형으로 변환되는 void * 인수를 사용한다는 것입니다. 간단한 예 : void function(MESSAGE_ID id, void* param) { if(id == FOO) { int real_param = (int)param; // ... } } 물론 64 비트 컴퓨터에서는 오류가 발생합니다. error: …
중요한 정보 (비공개로 유지하려는 대칭 암호화 키)를 C ++ 애플리케이션에 저장해야합니다. 간단한 방법은 다음과 같습니다. std::string myKey = "mysupersupersecretpasswordthatyouwillneverguess"; 그러나 strings프로세스 (또는 바이너리 앱에서 문자열을 추출하는 다른 모든 것)를 통해 애플리케이션을 실행 하면 위의 문자열이 표시됩니다. 이러한 민감한 데이터를 숨기려면 어떤 기술을 사용해야합니까? 편집하다: 좋습니다. 거의 모든 사람들이 "실행 파일을 …
내가 읽은 내용 : Objective-C가 Apple 커뮤니티 외부에서 그다지 인기가없는 이유는 무엇입니까? Objective-C는 C의 상위 집합 (사실 C ++보다 훨씬 엄격함)이므로 이전 버전과의 호환성 문제가 발생하지 않습니다. C에서 할 수있는 모든 것은 Objective-C에서 할 수 있습니다. 수퍼 세트가되는 것은 임신과 같은 바이너리입니다. Obj-C는 C의 상위 집합이며 C ++는 그렇지 않습니다. …
진술 printf("%f\n",0.0f); 0을 인쇄합니다. 그러나 진술 printf("%f\n",0); 임의의 값을 인쇄합니다. 나는 내가 어떤 종류의 정의되지 않은 행동을 보이고 있다는 것을 알고 있지만, 그 이유를 구체적으로 알 수는 없습니다. 모든 비트가 0으로되는 부동 소수점 값은 여전히 유효 float0의 값 float과 int(즉, 더욱 중요한 경우) 내 시스템의 동일한 크기이다. 부동 소수점 리터럴 …
안녕하세요 저는 std::threadG ++ 로 사용하려고합니다 . 내 테스트 코드는 다음과 같습니다. #include <thread> #include <iostream> int main(int, char **){ std::thread tt([](){ std::cout<<"Thread!"<<std::endl; }); tt.join(); } 컴파일되지만 실행하려고하면 결과는 다음과 같습니다. terminate called after throwing an instance of 'std::system_error' what(): Operation not permitted Aborted 내 컴파일러 버전 : $ g++ …
아는 사람 있나요 IF , 언제 또는 어떻게 내가 얻을 수있는 memcached를 윈도우 64 비트 환경에서 실행? 저는 새로운 호스팅 솔루션을 설정하고 있으며 64 비트 OS를 실행하는 것을 선호하며 SQL Server DB가 포함 된 ASP.Net MVC 솔루션이기 때문에 OS는 Windows Server 2003 또는 (희망에 따라!) 2008이 될 것입니다. 나는이 서버에 …
Debian은 더 이상 gTest 용으로 사전 컴파일 된 패키지를 제공하지 않습니다. 프레임 워크를 프로젝트의 메이크 파일에 통합 할 것을 제안합니다. 하지만 내 메이크 파일을 깨끗하게 유지하고 싶습니다. 라이브러리에 연결할 수 있도록 이전 버전 (<1.6.0)과 같이 gTest를 설정하려면 어떻게해야합니까?
구조체 내 비트 필드의 순서는 플랫폼에 따라 다릅니다. 다른 컴파일러 별 패킹 옵션을 사용하면 데이터가 기록 될 때 적절한 순서로 저장된다는 보장이 있습니까? 예를 들면 : struct Message { unsigned int version : 3; unsigned int type : 1; unsigned int id : 5; unsigned int data : 6; } …
사용자가 키보드에서 문자를 입력하면 다음 코드 줄로 이동해야하는 C ++ 프로그램을 작성하려고합니다. 내 코드는 다음과 같습니다. char c; cin>>c; cout<<"Something"<<endl; 그러나 이것은 어떤 문자를 입력하고 ENTER를 누르면 다음 줄로 이동하기 때문에 작동하지 않습니다. 또는 이것을 사용하면 cin.get() or cin.get(c) Enter 키를 누르면 다음 줄로 이동합니다. 하지만 키보드에서 눌린 키의 다음 …
언어 사양 이 기능 템플릿의 부분적인 전문화를 금지한다는 것을 알고 있습니다 . 나는 그것이 그것을 금지하는 이유를 알고 싶습니다. 유용하지 않습니까? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {} //allowed! template<typename T> void f<char, T>() {} //not allowed! template<typename T> void f<T, int>() {} //not …
멤버 별 배열 할당이 지원되지 않으므로 다음이 작동하지 않음을 이해합니다. int num1[3] = {1,2,3}; int num2[3]; num2 = num1; // "error: invalid array assignment" 나는 이것을 사실로 받아 들였고, 언어의 목적은 개방형 프레임 워크를 제공하는 것이고 사용자가 배열 복사와 같은 것을 구현하는 방법을 결정하게하는 것이라고 생각했습니다. 그러나 다음은 작동합니다. struct …
나는 C ++ 유형 특성을 사용하는 동안 이상한 행동을 경험했고 내 문제를이 기발한 작은 문제로 좁혔습니다. 다음과 같은 프로그램이 있다고 가정 해 보겠습니다. #include <iostream> #include <cstdint> template <typename T> bool is_int64() { return false; } template <> bool is_int64<int64_t>() { return true; } int main() { std::cout << "int:\t" …
의 사용법을 이해할 수 없습니다 glOrtho. 누군가 그것이 무엇을 위해 사용되는지 설명 할 수 있습니까? xy 및 z 좌표 제한 범위를 설정하는 데 사용됩니까? glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); x, y 및 z 범위가 -1에서 1까지임을 의미합니까?