템플릿 함수 foo을 일련의 다른 (유형이 아닌) 매개 변수로 호출하고 싶습니다. 상한과 하한 사이의 연속적인 정수 값을 사용합니다. 예를 들어 : template <int K> void foo(){ ... }
int const UPPER = 10, LOWER = 5;
for(int i = LOWER; i <= UPPER; i++)
foo<
C++에 이러한 기능이 있는지 잘 모르겠습니다. 제대로 작동하지 않는 것 같아서 물어보기로했습니다. 템플릿 템플릿이 아닌 유형 매개 변수를 사용할 수 있습니까? 이런 식으로 뭔가 : template<template<int> class A, int num>
class C
{
private:
A<num> obj;
};
내 주요 문제는 내가
자동 비 유형 매개 변수 (C++ 17)를 사용하려고합니다. 'Sample1 :: type'은 'integral_constraint < int, 0 >'이어야하지만 'Sample0 :: type'과 동일 할 것으로 예상됩니다. g ++ 버그 또는 기능에 대한 오해가 있습니까? 우분투 17.10에서 g ++ (Ubuntu 7.2.0-8ubuntu3) 7.2.
라이브러리를 내 클래스 디자인에 래핑합니다. 내 클래스 생성자에서 라이브러리에 제공된 unsigned int 유형이 아닌 매개 변수를 사용하여 템플릿 메서드를 호출하고 싶습니다. #include <iostream>
#include <bar.h> // template header in here
class foo {
foo(unsigned num)
많은 질문과 답변을 읽었지만 this question은 내 눈을 가장 사로 잡았습니다. 그것과 그것의 해답은 도움이된다. 그러나 나는 아직도 내가 형식이 아닌 템플릿 인자를 사용하는 뒤에 사용법과 이론을 완전히 이해하지 못한다고 느낀다. 그것들은 사용되는 많은 유용한 예제를 제공하지만, 아무도 실제로 비 형식 템플릿 인자 뒤에있는 이론에 대해 밝히지는 않았
최근에 C++ 17 표준에 도입 될 std::is_invocable을 우연히 발견했습니다. 사용자에게 왜 형식을 제공해야하는지 궁금합니다. 특히 비 형식 템플릿 매개 변수가 이제 제약을받지 않기 때문에 더욱 편리 할 수있는 함수 포인터 자체를 제공하는 것과는 대조적으로. 는 std::is_invocable에 대한 void hello_world() {
와 우선 순위 큐를 구현할 때 class Node:
def __init__(self, data=None, priority='L', next=None):
self.data = data
self.priority = priority
self.next = next
def __str__(self):
re
형식이 아닌 템플릿 클래스 메서드를 만드는 데 적합한 구문이 무엇인지 궁금합니다. 나는 이것을 시도했지만 분명히 작동하지 않는다 : class A
{
enum B
{
C = 0,
D
};
template <A::B value = A::C>
int fun();
};
template<A:
이 코드 고려 컴파일 실패 error: ‘* & xx’ is not a constant expression
note: in template argument for type ‘int’
다음 main() 함수에서 #include <array>
template < int... Ints >
constexpr std::array<int,sizeof...(