«c++» 태그된 질문

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


2
명시 적으로 반환 유형을 명시하더라도 람다에 대한 호출은 모호합니다.
람다의 유형을 결정할 수있는 경우 오버로드 된 함수는 두 함수를 모두 가져 와야합니다 std::function((잘못된 경우 수정하십시오). 질문은 다음과 같습니다. 정의 되었습니까? ( [&]() -> Type {}) 현재 솔루션의 경우 참조 기준 캡처가 필요하므로 코드에 논리가 포함되어 있습니다. 다음 예제는 문제점을 설명합니다. #include <iostream> #include <string> #include <functional> void do_some(std::function<void(int)> thing) …

1
변수 템플릿을 템플릿 템플릿 인수로 전달할 수 있습니까?
다음의 무의미한 예제는 컴파일되지 않지만 변수 템플릿을 템플릿 템플릿 인수로 전달하는 다른 방법이 있습니까? template<typename T> constexpr auto zero = T{0}; template<typename T, template<typename> auto VariableTemplate> constexpr auto add_one() { return VariableTemplate<T> + T{1}; } int main() { return add_one<int, zero>(); } 컴파일러 탐색기를 사용해보십시오


1
최신 OpenMP 지원을 얻기 위해 명령 줄에서 clang을 사용하도록 창에서 CMake 구성
병렬화에 OpenMP를 사용 하는 작은 테스트 프로젝트 가 있습니다. 내 목표는 생산 있도록 컴파일하는 것입니다 .dll및 .lib이에 대한 고정 표시기에서 수행 할 수 있도록 (외부 라이브러리 내 실제 프로젝트 링크가이 유형을 사용하여 분산하기 때문에)의 OpenMP 4.5 이상을 지원, 라이브러리 및 명령 줄에서 그것을 할 테스트 및 검사 (도커 ​​부분은이 질문의 …

2
weak_ptr 재설정이 shared_ptr에 영향을 줍니까?
나는 사용에 익숙하지 않으며 매우 weak_ptr혼란스러운 상황에 직면하고 있습니다. 내가 사용하고 인텔 XE 2019 작곡가 업데이트 5 ( 패키지 2019.5.281을 함께 combinaison에) 버전의 Visual Studio 2019. 16.2.5 . 64 비트로 컴파일합니다. 표준 C ++ 17을 사용합니다 . 내 스파이크 솔루션의 코드는 다음과 같습니다. #include <memory> #include <iostream> using namespace std; …

3
병렬 실행 정책으로 std :: transform을 대신 사용할 수 있습니까?
I 착각하지 않다, 내가 수 std::transform수행 장소에서 입출력 반복자 같은 범위를 사용하여. std::vector객체 가 있다고 가정 vec하면 쓸 것입니다. std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op) 적절한 단항 연산 사용 unary_op. C ++ 17 표준을 사용하여 std::execution::par첫 번째 인수로 in 을 붙여서 변환을 병렬로 실행하고 싶습니다 . 이렇게하면의 cppreference 기사에서std::transform 함수가 과부하 (1)에서 (2)로 이동합니다 . …

1
C ++에서 변수를 통해 구조체의 멤버에 액세스
예를 들어 두 멤버가있는 구조체가 있습니다. struct DataSet { int x; int y; }; ..., 그리고 메소드의 사람들에게 액세스해야하지만 한 번에 하나씩 만 액세스해야합니다. void foo(StructMember dsm) { // ("StructMember" does not exist) DataSet ds; ds.x = 4; ds.y = 6; std::cout << ds.dsm * ds.dsm << std::endl; } foo(x); …
10 c++ 

7
벡터의 요소를 지우면 작동하지 않습니다
벡터가 있습니다. 마지막 3 개 요소를 삭제해야합니다. 이 논리를 설명했습니다. 프로그램이 충돌합니다. 실수는 무엇입니까? vector<float>::iterator d = X.end(); for (size_t i = 1; i < 3; i++) { if (i == 1) X.erase(d); else X.erase(d - i); }
10 c++  vector 

2
C ++ 템플릿 템플릿 인수 유형 공제
문자열 컨테이너를 통해 패턴 일치를 찾아 인쇄하는 코드가 있습니다. 템플릿 화 된 foo 함수에서 인쇄가 수행됩니다. 코드 #include <iostream> #include <algorithm> #include <iterator> #include <vector> #include <string> #include <tuple> #include <utility> template<typename Iterator, template<typename> class Container> void foo(Iterator first, Container<std::pair<Iterator, Iterator>> const &findings) { for (auto const &finding : findings) …

1
C ++ 20 이후 할당 된 스토리지에서 포인터 산술이 허용됩니까?
C ++ 20 표준에서는 배열 유형이 암시 적 수명 유형이라고 합니다. 암시 적이 지 않은 수명 유형에 대한 배열을 암시 적으로 만들 수 있습니까? 이러한 배열의 암시 적 생성으로 인해 배열 요소가 생성되지 않습니까? 이 경우를 고려하십시오. //implicit creation of an array of std::string //but not the std::string elements: void …

1
std :: span에 비교 연산자가없는 이유는 무엇입니까?
/ / 일반 배열 등 std::span의 하위 영역에 대한 간단한 참조로 설계 되지 않았습니까 ? API에 비교 연산자를 포함시키기 위해 비교 연산자를 포함해서는 안됩니까? 배제에 대한 추론은 무엇입니까?std::vectorstd::array 참고 : 비교 연산자에 의해, 나도 전체 집합을 의미한다 ( <, <=, ...) 또는 우주선<=>
10 c++  std  c++20  std-span 

3
다른 컴파일러에서 C ++와 C 사이의 부호없는 비트 필드 정수 표현식이 일관되지 않음
편집 2 : 이전에 C ++ 소스 파일에 있던 함수가 C 파일로 그대로 이동하여 잘못된 결과를 반환하기 시작했을 때 이상한 테스트 실패를 디버깅했습니다. 아래의 MVE를 사용하면 GCC 문제를 재현 할 수 있습니다. 그러나 변덕스럽게 Clang (및 나중에 VS로)으로 예제를 컴파일하면 다른 결과를 얻었습니다! 컴파일러 중 하나에서 버그로 처리할지 또는 C …

1
파이프 라이브러리 기능에 범위를 사용할 수없는 이유는 무엇입니까?
조나단 보 카라 (저자 Fluent C ++의 )는 pipes 라는 라이브러리를 작성했습니다 . 리포지토리의 메인 페이지 인이 "파이핑 (piping)"은 비록 똑같아 보이더라도 범위를 사용하는 것과는 다릅니다. 그러나 그것은 범위 라이브러리를 사용하여 다양한 '파이프'작업을 수행 할 수는 없다고 언급 되어 있습니다. 예를 들면 다음과 같습니다. 압축 풀기-압축 된 입력-본질적으로 k- 튜플 …

3
nullptr을 uintptr_t로 변환 할 수 있습니까? 다른 컴파일러는 동의하지 않습니다
이 프로그램을 고려하십시오 : #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } msvc v19.24로 컴파일하지 못했습니다. <source>(5): error C2440: '<function-style-cast>': cannot convert from 'nullptr' to 'my_time_t' <source>(5): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to an integral …
10 c++  c++11  gcc  visual-c++  clang 

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