Get the App
SLTechnology News&Howtos  ›  Servers  › 

How to realize closure in C++ Project

Shulou Source: shulou.com Published: 2022-06-01 18:39:06 10月01日 Update

Today, I'm going to talk to you about how to implement closures in C++ projects. Many people may not know much about it. In order to make you understand better, the editor summarized the following contents. I hope you can get something from this article.

Example # include # include class Closure {public: Closure () {} ~ Closure () {} virtual void Run () = 0; / / Pure virtual function}; template class FunctionClosure1: public Closure {public: typedef void (* FunctionType) (Arg1) FunctionClosure1 (FunctionType f, Arg1 arg1): _ f (f), _ arg1 (arg1) {} ~ FunctionClosure1 () {} virtual void Run () {_ f (_ arg1); delete this;} private: FunctionType _ f; Arg1 _ arg1;}; template Closure* NewCallback (void (* function) (Arg1), Arg1 arg1) {return new FunctionClosure1 (function, arg1) } / / function with one parameter templatevoid foo (type data) {std::cout

Tags: Functions parameters pointers closures subclasses members contents projects Cellular codes writings instances methods standards two examples and at the same time objects points files are in the Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Huawei Shulou Technology Microsoft macOS MySQL