constexpr

    11

    1답변

    저는 기능 헤더 기능을 만들기위한 제안을하고 있습니다. constexpr. (std::invoke, std::reference_wrapper, std::bind, std::mem_fn, std::not_fn는) Preview of the proposal 나는 constexpr 기능이 열심히 인스턴스화되기 때문에 constexpr을 추가하면 기존 코드를 깰

    5

    1답변

    GCC는 일부 표현식을 상수로 평가할 수 없습니다. Clang은 그러나 그것으로 멋지다. /* */ constexpr int foo(const int * array) { if (array == nullptr) // Error: '(((const int*)(& array)) == 0u)' is not a constant expression

    5

    1답변

    constexpr 함수 내부의 GCC 6 및 7 (GCC 5가 아님)에서 버그가 발견되어 컴파일시에 함수가 평가되면 다른 결과가 발생합니다 (잘못된 결과) 또는 런타임 (올바른 결과). #include <iostream> constexpr int bar(int *b) { int i = 0; b[i++] = 1; // GCC produc

    9

    1답변

    최대한 멀리 볼 수있는, 매우 일반적인 상황이 같은이 template<int i> class Class { public: static constexpr int I = i; static constexpr int J = constexprFunction(i); // further Class implementation }; 여기

    13

    2답변

    해시 소금이나 대칭 또는 비대칭 키와 같이 애플리케이션에 대한 보안 토큰을 생성하는 함수가 있다고 가정 해 보겠습니다. 이제 C++에서이 함수를 constexpr로 사용하고 빌드 정보, 빌드 타임, 타임 스탬프, 다른 것과 같은 정보를 기반으로 키를 생성한다고 가정 해 보겠습니다. 부지런한 프로그래머는 컴파일시에만 호출되도록 적절한 방법으로 호출해야하므로

    1

    1답변

    constexpr 및 static_assert를 가지고 놀고 싶습니다. 사실 constexpr 문자열의 길이를 확인해야하는데 이는 전용 함수에 의해 계산됩니다. 여기에 내가 실행하기 위해 노력하고있어 무엇 : 여기 #include <iostream> using namespace std; class Test { private : s

    10

    1답변

    함수 포인터의 constexpr 배열이 있다고 가정하고 지정된 함수에 대한 배열 인덱스를 찾기 위해 constexpr 함수를 작성하려고합니다. void test1(){}void test2(){}void test3(){}void test4(){} typedef void(*func)(void); constexpr func funcs[] = { &test1

    1

    1답변

    라이브러리를 내 클래스 디자인에 래핑합니다. 내 클래스 생성자에서 라이브러리에 제공된 unsigned int 유형이 아닌 매개 변수를 사용하여 템플릿 메서드를 호출하고 싶습니다. #include <iostream> #include <bar.h> // template header in here class foo { foo(unsigned num)

    5

    1답변

    std::vector과 매우 비슷한 것을 구현하지만 메모리 할당 대신 스택에 배열을 사용합니다. dtor는 SFINAE를 사용하는 함수를 호출합니다. value_type이 공백 인 경우 함수에 빈 몸체가 있습니다. value_type이 정상 클래스 인 std::string 인 경우 함수에 본문이 있고 모든 데이터가 제대로 삭제됩니다. 이제이 새로운 std:

    3

    3답변

    정적 멤버 함수가 UNUSED 매크로를 사용하여 컴파일러 경고를 무시하는 문제가 발생했습니다. 매크로가 실행되면 GCC와 Clang은이 함수를 constexpr으로 거부합니다. 여기 $ cat test.cxx #include <iostream> #include <stdint.h> #define UNUSED(x) ((void)x) template