«c++» 태그된 질문

정적 타입, 자유 형식, 다중 패러다임, 컴파일 된 범용 프로그래밍 언어 인 C ++에 대한 질문.

2
이것이 C ++의 "pImpl"기반 클래스 계층에 대한 좋은 접근 방법입니까?
인터페이스와 구현을 분리하려는 클래스 계층이 있습니다. 내 솔루션은 인터페이스에 대한 핸들 클래스 계층 구조와 구현을위한 비공개 클래스 계층 구조라는 두 가지 계층 구조를 갖는 것입니다. 기본 핸들 클래스에는 파생 핸들 클래스가 파생 유형의 포인터로 캐스트하는 구현에 대한 포인터가 있습니다 (함수 참조 getPimpl()). 다음은 파생 클래스가 두 개인 기본 클래스에 대한 …
9 design  c++  c++11 

1
Redux의 원칙을 OO 언어에 적용하는 것이 합리적입니까?
Redux는 본질적으로 기능적 프로그래밍이며 많은 의미가 있습니다. 다른 프로젝트에서 Javascript가 아닌 OOP 언어로 되돌아 가면서 단일 상태 객체, 해당 상태의 일부에 작용하는 감속기, 상태를 수정하는 의미 론적 비즈니스 계층과 같은 동일한 원칙을 적용하고 싶습니다. 내 프로젝트는 C ++에 있으며 응용 프로그램 디자인에 기능적인 redux 스타일 접근 방식을 적용하고 적용하는 것이 …

1
C에서 C ++ 템플리트 유형 API의 관용적 랩핑
C 함수의 데이터 저장소 (Hazelcast)에 대한 액세스를 제공하는 C ++ API를 래핑하여 데이터 저장소를 C 전용 코드에서 액세스 할 수도 있습니다. 맵 데이터 구조를위한 Hazelcast C ++ API는 다음과 같습니다. auto map = hazelcastClient->client->getMap<int, string>(mapName); map.put(key, value); 템플릿 유형 key및 value매개 변수를 사용합니다. C에서 사용할 수있는 템플릿이 없으므로 각 getMap<T, …
9 c++  c  api-design 



2
인터페이스 분리 원리 : 인터페이스가 상당히 겹치는 경우 어떻게해야합니까?
에서 피어슨 새로운 국제 버전 : 애자일 소프트웨어 개발, 원칙, 패턴, 및 사례 : 때로는 다른 클라이언트 그룹이 호출 한 메소드가 겹칠 수 있습니다. 오버랩이 작 으면 그룹의 인터페이스가 분리되어 있어야합니다. 공통 기능은 모든 겹치는 인터페이스에 선언해야합니다. 서버 클래스는 각 인터페이스에서 공통 기능을 상속하지만 한 번만 구현합니다. Bob 아저씨, 약간의 …

1
C ++ 직렬화 디자인 검토
C ++ 응용 프로그램을 작성 중입니다. 대부분의 응용 프로그램 은 필요한 데이터 인용을 읽고 쓸 수 있으며 예외는 아닙니다. 데이터 모델 및 직렬화 논리에 대한 높은 수준의 디자인을 만들었습니다. 이 질문은 다음과 같은 특정 목표를 염두에두고 디자인 을 검토 하도록 요청합니다 . 원시 이진, XML, JSON 등 임의의 형식으로 데이터 …
9 design  c++  c++11 

1
최신 C ++로 포팅하는 키 / 밸류 스토어 개발
Cassandra와 비슷한 데이터베이스 서버를 개발 중입니다. C로 개발이 시작되었지만 클래스 없이는 상황이 매우 복잡해졌습니다. 현재 C ++ 11로 모든 것을 이식했지만 여전히 "현대"C ++를 배우고 있으며 많은 것들에 대해 의문이 있습니다. 데이터베이스는 키 / 값 쌍으로 작동합니다. 모든 쌍에는 추가 정보가 있습니다. 만기 시점 (만료되지 않은 경우 0). 각 쌍은 …

4
rand ()는 작은 범위에 대해 동일한 숫자를 다시 제공합니다.
그리드가 20x20 인 게임을 만들고자 플레이어 (P), 대상 (T) 및 3 명의 적 (X)을 표시합니다. 이것들은 모두를 사용하여 할당 된 X와 Y 좌표를 가지고 있습니다 rand(). 문제는 게임에서 더 많은 포인트 (에너지 리필 등)를 얻으려고하면 범위가 작기 때문에 하나 이상의 다른 포인트와 겹칩니다 (1 ~ 20 포함). 이들은 내 변수이며 …
9 c++  random 

4
계층을 강요하지 않고 개체가 서로 상호 작용하고 통신하도록하려면 어떻게해야합니까?
이 문제가 내 질문을 명확하게 해주길 바랍니다. 그래도 이해가 안된다면 완전히 이해하고 싶습니다. 그럴 경우 알려주세요. 더 명확하게 해보도록하겠습니다. 객체 지향 게임 개발에 익숙해 지도록 만든 매우 간단한 게임 인 BoxPong을 만나보십시오 . 상자를 드래그하여 공을 제어하고 노란색 물건을 수집하십시오. BoxPong을 만드는 것은 무엇보다도 근본적인 질문을 공식화하는 데 도움이되었습니다. 서로 …

2
예외 클래스 설계
작은 라이브러리를 코딩 중이며 예외 처리를 디자인하는 데 문제가 있습니다. 나는 C ++ 언어 의이 기능으로 혼란스러워하고 예외 클래스를 올바르게 사용하기 위해해야 ​​할 일을 이해하기 위해 주제에 대해 가능한 한 많이 읽으려고했습니다. 클래스 system_error의 STL 구현에서 영감을 얻은 일종의 접근 방식 을 사용하기로 결정했습니다 future_error. 오류 코드가 포함 된 열거 …

7
C ++에 대한 깊은 지식이 다른 언어를 더 빠르고 쉽게 배우는 데 도움이됩니까? [닫은]
휴무 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . C ++의 모든 주요 측면을 익히고 언어의 기초를 잘 아는 사람이 다른 언어 (예 : Python, Perl, Java)를 …
9 c++ 

5
서버 종료시 객체를 올바르게 폐기
큰 C ++ 프로젝트를 진행 중입니다. REST API를 노출하는 서버로 구성되어 다른 많은 서버로 구성된 매우 광범위한 시스템을위한 단순하고 사용자 친화적 인 인터페이스를 제공합니다. 코드베이스는 상당히 크고 복잡하며 적절한 디자인을하지 않고도 시간이 지남에 따라 발전했습니다. 내 임무는 더 안정적이고 신뢰할 수 있도록 새로운 기능을 구현하고 이전 코드를 리팩터링 / 수정하는 …
9 c++  debugging  memory 

6
큰 인터페이스 분할
데이터베이스에 액세스하기 위해 약 50 가지 방법으로 큰 인터페이스를 사용하고 있습니다. 인터페이스는 내 동료에 의해 작성되었습니다. 우리는 이것을 토론했다 : 나 : 50 가지 방법이 너무 많다. 코드 냄새입니다. 동료 : 어떻게해야합니까? DB 액세스를 원합니다. 나 : 네,하지만 미래에는 불분명하고 유지 보수가 거의 불가능합니다. 동료 : 네, 맞습니다. 좋지 않습니다. …

1
LLVM을 통해 C ++ 애플리케이션에서 Java로 포트를 작성할 수 있습니까?
LLVM을 사용하여 C ++ 응용 프로그램을 Java 바이트 코드로 이식하는 것이 얼마나 실용적인가요? 문제는 현재 C ++로 작성된 프로세스를 가지고 있지만 새로운 클라이언트는 기본 코드가없는 Java Virtual Machine (JNI 없음)을 사용하여 멀티 플랫폼 방식으로 프로그램을 실행할 수 있어야한다는 것 입니다. 아이디어는 생성 된 jar를 가져 와서 다른 시스템 (Linux, Win, …
9 java  c++  porting 

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