this 질문에 대한 첫 번째 대답에 따르면, 아래의 펑터는 foreach으로 전달 된 후에 값을 유지할 수 있어야합니다 (이 예에서는 컴파일 할 때 struct Accumulator을 얻을 수 없어 클래스가 작성되었습니다). // Using a functor
Accumulator acc;
std::for_each(_cards.begin(), _card
가능한 경우 SIMD (SSE, SPU 등)를 활용할 수 있도록 몇 가지 병렬화 가능한 문제의 C++ 크로스 플랫폼 구현을 작성하는 방법이 필요합니다. 뿐만 아니라 런타임시 SIMD가 아닌 SIMD로 전환 할 수 있기를 원합니다. 이 문제에 대해 어떻게 생각하십니까? (물론 가능한 모든 옵션에 대해 여러 번 문제를 구현하고 싶지 않습니다.) 이 방법이 C+
두 개의 인수를 사용하여 문자열을 반환하는 함수 포인터가 필요합니다. 하나의 인수를 사용하는 함수를 래핑하고 해당 문자열을 반환하는 어댑터를 전달하고 싶습니다 (즉 인수 중 하나를 버립니다). 나는 2 개의 인수를 취하고, 하나의 인수 만 전달하는 랩핑 된 함수를 호출하는 자체 어댑터를 간단히 빌드 할 수 있습니다. 그러나 나는 C++/boost에서 그렇게
함수 포인터를 예상하는 메서드를 호출해야하지만 실제로 전달할 함수는 functor입니다. 여기에 내가 할 노력하고있어의 예 : 나는 마지막 줄을 얻을 수있는 방법을 찾을 수 없어 #include <iostream>
#include "boost/function.hpp"
typedef int (*myAdder)(int);
int adderFunctio
나는 함수 func와 func와 동일한 유형의 매개 변수 t를 사용하는 함수 f가 있습니다. 나는 컴파일 에러 때문에 f를 g로 넘길 수 없다. (f(int&, void (&)(int&))에 대한 호출과 일치하는 함수 없음). g가 참조가 아닌 매개 변수 g (int s)를 취하면 컴파일이 완료됩니다. 또는 템플릿 매개 변수 f<int&>(i, g)을 수동
templatized 클래스를 파괴 할 때 호출 할 함수 객체를 첨부하려고합니다. 그러나 함수 객체를 임시로 전달할 수없는 것처럼 보입니다. 내가 얻을 경고는 (주석 경우 라인 xi.data = 5;)입니다 : warning C4930: 'X<T> xi2(writer (__cdecl *)(void))':
prototyped function not
내가 형 무효 (* FUNC) (T)와 FUNC의 인수 인수의 기능을 소요 펑터 F를 쓰고에서 const를 또는 const가 아닌 참조 형을 얻는다. template<typename T>
void F(void (*func)(T), WhatTypeHere? arg)
{
func(arg);
}
그러면 functor F는 arg로 fun
가능한 중복 : 나는 OCaml의에 대해 잘 모르는 In Functional Programming, what is a functor? , 나는 몇 시간 동안 F 번호를 공부하고 확실히 이해했습니다. 그들은 F #이 OCaml에있는 functor 모델을 놓쳤다 고합니다. 나는 정확하게 functor가 무엇인지 알아 내려고 노력했지만 wikipedia와 튜토리